我正在尋找一種方式來對某個分離的抗凍發生分成兩個部分的字符串。我知道這是很容易做到當字符串看起來是這樣的:分割字符串沒有遵守「」
String s = "prefix.key value";
String[] a = s.split("[ :=]",2);
但是按照慣例,該字符串可能包含轉義分隔符(用「\」直接在分離器的前面)。所以我更新的正則表達式字符串:
String s = "prefix\ key value";
String[] a = s.split("[^\\\\][ :=]",2);
此分割字符串幾乎在正確的地方,但它切斷了關鍵的「Y」。這是因爲現在正則表達式匹配分隔符和前面的字符。 split()方法刪除匹配的部分,只返回剩餘的字符串。
我有一個使用分裂(),並期待通過字符串返回數組中的結束字符一個有效的解決方案,但是這似乎是一個過於複雜和緩慢的方式來做到這一點。
有沒有人有更好的主意?
那是什麼':'在你的字符類? –
它用作分隔符,就像空白和等號一樣。 – l2p