使用函數split拆分此字符串。這裏是我的代碼:Java和字符串分割
String data= "data^data";
String[] spli = data.split("^");
當我嘗試在spli中只包含一個字符串。這看起來像java沒有看到「^」分裂。有誰知道我怎樣才能通過字母「^」分割這個字符串?
編輯
解決:P
使用函數split拆分此字符串。這裏是我的代碼:Java和字符串分割
String data= "data^data";
String[] spli = data.split("^");
當我嘗試在spli中只包含一個字符串。這看起來像java沒有看到「^」分裂。有誰知道我怎樣才能通過字母「^」分割這個字符串?
編輯
解決:P
這是因爲String.split
需要一個正則表達式,而不是一個文字字符串來逃避它。你必須逃避^
,因爲它在正則表達式中具有不同的含義(錨定在字符串的開頭)。所以拆分實際上是在第一個字符之前完成的,給你完整的字符串保持不變。
你逃跑用\
正則表達式元字符,它必須是Java中的字符串\\
,所以
data.split("\\^")
應該工作。
你需要,因爲它需要REG-EX
\\^
這不起作用,因爲.split()
預計它的參數是一個正則表達式。 「^」在正則表達式中有特殊的意義,所以不能像你期望的那樣工作。爲了讓它起作用,你需要逃避它。使用\\^
。
是的這個作品,感謝的人:P – klemens 2012-01-28 09:20:56
特殊字符像^
需要與\
居然用了\\,因爲java – AlanFoster 2012-01-28 09:18:46
啊,真的!我的錯。 +1 – Dawood 2012-01-28 09:19:22
的原因是split
的參數是一個regular expression轉義,因此‘^’是指行的開頭。所以你需要轉義成ASCII- ^:使用參數「\\^
」。
如果您需要通過點擊答案 – 2012-01-28 09:23:49
Jigar附近的標記來標記答案,那真的是您的問題的答案,建議但不是必需的。 – Joey 2012-01-28 12:05:11