91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

老生常談java路徑中的反斜杠和斜杠的區別

發布時間:2020-10-10 18:14:05 來源:腳本之家 閱讀:784 作者:jingxian 欄目:編程語言

JAVA中的斜杠

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

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

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

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

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

我們先看一個例子:

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("\\","\\\\"));

}

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

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

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

以上這篇老生常談java路徑中的反斜杠和斜杠的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南昌县| 昌都县| 含山县| 鄂伦春自治旗| 云浮市| 剑川县| 岐山县| 周至县| 镇康县| 兴宁市| 东海县| 南丹县| 康平县| 邵武市| 玛多县| 宁都县| 息烽县| 军事| 永春县| 灵川县| 航空| 丰镇市| 朝阳市| 穆棱市| 漳平市| 安溪县| 三门县| 双辽市| 沛县| 宁晋县| 固安县| 哈密市| 商洛市| 沙田区| 南漳县| 芜湖县| 辛集市| 上杭县| 镇原县| 永州市| 资讯|