我有以下字符串:正則表達式匹配的字符沒有前一個字符
"location-string:location-string:location-C?:\string"
,我想分成以下三個字符串:
location-string
location-string
location-C?:\string
什麼正則表達式應使用String.split(正則表達式)?
基本上,我想拆分冒號':'字符,除了那些前面加'?'的字符。字符!
在此先感謝, PM。
我有以下字符串:正則表達式匹配的字符沒有前一個字符
"location-string:location-string:location-C?:\string"
,我想分成以下三個字符串:
location-string
location-string
location-C?:\string
什麼正則表達式應使用String.split(正則表達式)?
基本上,我想拆分冒號':'字符,除了那些前面加'?'的字符。字符!
在此先感謝, PM。
你可以使用一個split()
與限制相匹配。
public static void main(String[] args) {
String s = "location-string:location-string:location-C?:\\string";
System.out.println(Arrays.toString(s.split(":", 3)));
}
O/P:
[location-string, location-string, location-C?:\string]
最遺憾的是,這是基於特殊情況(?:)只發生在*非常*特殊的位置(第三和最後一個)。考慮到「我想拆分冒號」,你確定這是一個很好的答案:'除了那些前面加'?'的字符外,字符」? – laune
作爲評論指標的雙反斜槓? – laune
@laune - yes ..這與給定的字符串非常緊密地結合在一起。我只是指出這也可以這樣做。 – TheLostMind
太快,正確也+1 – anubhava
這是很好的工作。謝謝Avinash! –
很高興出來:-) –