欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

老生常談java路徑中的反斜杠和斜杠的區(qū)別

 更新時間:2017年04月26日 08:45:51   投稿:jingxian  
下面小編就為大家?guī)硪黄仙U刯ava路徑中的反斜杠和斜杠的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

JAVA中的斜杠

有正斜杠與反斜杠之分,正斜杠,一般就叫做斜杠,符號為“/”;反斜杠的符號為“\”。

斜杠(/)在JAVA中沒有什么特別的意義,就是代表一個字符‘/';

反斜杠(\)則不然,它和緊跟著它的那個字符構(gòu)成轉(zhuǎn)義字符,如“\n”(換行)、“\””(字符‘”‘)等,所以在字符串中要表示字符'\'要用“\\”來表示,例:如果你這樣定義一個字符串String s = “name\sex”是錯誤的,要這樣定義String s = “name\\sex”;

注意:在正則表達(dá)式中的“\\”表示和后面緊跟著的那個字符構(gòu)成一個轉(zhuǎn)義字符(姑且先這樣命名),代表著特殊的意義;所以如果你要在正則表達(dá)式中表示一個反斜杠\,應(yīng)當(dāng)寫成”\\\\”。如果你這樣獲得一個Matcher,Matcher m= Pattern.compile(“\\”).matcher(“\\”)將會報錯,你應(yīng)當(dāng)這樣寫Matcher m = Pattern.compile(“\\\\”).matcher(“\\”)才是正確且匹配的

接下來我們來看一下String類中replace(CharSequencetarget,CharSequence replacement)方法與replaceAll(String regex,String replacement)方法的區(qū)別:

我們先看一個例子:

public static voidmain(String[] arg) throws OgnlException {

String s="sdf\\a\\aa";

//把s中的反斜杠\ 替換為\\

System.out.println(s);

System.out.println(s.replaceAll("\\\\","\\\\\\\\"));

System.out.println(s.replace("\\","\\\\"));

}

可以看出上面兩種都返回相同的替換結(jié)果。

這 里的關(guān)鍵是String.replaceAll()是用regular expression 來作為參數(shù)的。但是java本身的字符串對于轉(zhuǎn)義符\也有類似的處理。首先,java會把“\\\\”解釋成一個字符串(其中包含兩個char)。接下來,由于replaceAll是以正則表達(dá)式作為參數(shù),所以“\\”被解釋成一個regex。對于一個regex來說這就代表著一個字符,就是“\”。對后面的那個8個\來說,最終會被解釋成“\\”。

換言之,假設(shè)String.replaceAll()是以普通字符串,而不是regex作為參數(shù),那么這樣寫代碼: String target = source.replaceAll('\\','\\\\'); 就可以了。

以上這篇老生常談java路徑中的反斜杠和斜杠的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Nexus搭建Maven私服教程的方法步驟

    使用Nexus搭建Maven私服教程的方法步驟

    本文主要介紹了使用Nexus搭建Maven私服教程的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Java代碼實現(xiàn)循環(huán)隊列的示例代碼

    Java代碼實現(xiàn)循環(huán)隊列的示例代碼

    隊列作為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),是程序員的入門課。也是所有程序員必須掌握的一種數(shù)據(jù)結(jié)構(gòu),隊列在程序中廣泛應(yīng)用,因此我們應(yīng)該對隊列有深入的了解,接下來我們通過代碼來對隊列這種數(shù)據(jù)結(jié)構(gòu)進(jìn)行深度解析,感興趣的朋友一起看看吧
    2021-09-09
  • springboot實現(xiàn)多模塊項目添加一新模塊

    springboot實現(xiàn)多模塊項目添加一新模塊

    這篇文章主要介紹了springboot實現(xiàn)多模塊項目添加一新模塊,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 詳解Spring Cloud Gateway 限流操作

    詳解Spring Cloud Gateway 限流操作

    這篇文章主要介紹了詳解Spring Cloud Gateway 限流操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 簡單了解Java日志脫敏框架sensitive

    簡單了解Java日志脫敏框架sensitive

    這篇文章主要介紹了簡單了解Java日志脫敏框架sensitive,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • java中文轉(zhuǎn)全拼工具類分享

    java中文轉(zhuǎn)全拼工具類分享

    這篇文章主要介紹了一個JAVA將漢字轉(zhuǎn)換為全拼的工具類,大參考使用吧
    2014-01-01
  • java使用java.io.File類和java.nio.file.Path類對文件重命名

    java使用java.io.File類和java.nio.file.Path類對文件重命名

    這篇文章主要給大家介紹了關(guān)于java使用java.io.File類和java.nio.file.Path類對文件重命名的相關(guān)資料,本文僅為日常操作記錄,方便后期使用查找本地電腦文件太多了,又不想一個一個重命名,改名字什么的很麻煩,需要的朋友可以參考下
    2024-02-02
  • 如何讓Jackson JSON生成的數(shù)據(jù)包含的中文以unicode方式編碼

    如何讓Jackson JSON生成的數(shù)據(jù)包含的中文以unicode方式編碼

    這篇文章主要介紹了如何讓Jackson JSON生成的數(shù)據(jù)包含的中文以unicode方式編碼。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Spring+Junit4進(jìn)行接口測試實例代碼

    Spring+Junit4進(jìn)行接口測試實例代碼

    這篇文章主要介紹了Spring+Junit4進(jìn)行接口測試實例代碼,涉及pom.xml、bean的配置,以及接口測試代碼等相關(guān)內(nèi)容,小編覺得還是挺不錯的,這里分享給大家,需要的朋友可以參考下
    2018-01-01
  • mybatis?一對多映射?column屬性的注意事項說明

    mybatis?一對多映射?column屬性的注意事項說明

    這篇文章主要介紹了mybatis?一對多映射?column屬性的注意事項說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01

最新評論