我想要分割的字符串的前面:「value.value2.key:somethink.two」 ,我想在數組元素:分割字符串,它是在另一個字符
- 「值「
- 」值2「
- 」鍵:somethink.two「
所以我需要的正則表達式它。字符前分割爲"\\."
,":"
感謝您的幫助。
我想要分割的字符串的前面:「value.value2.key:somethink.two」 ,我想在數組元素:分割字符串,它是在另一個字符
所以我需要的正則表達式它。字符前分割爲"\\."
,":"
感謝您的幫助。
使用積極的前瞻斷言。
String s = "value.value2.key: somethink.two";
String parts[] = s.split("\\.(?=.*?:)");
System.out.println(Arrays.toString(parts));
(?=...)
被稱爲正向超前斷言。 (?=.*?:)
肯定前瞻斷言匹配後必須跟着.*?
,零個或多個字符和一個冒號符號。因此它匹配冒號前的所有點,但不匹配冒號後的點,因爲最後一個點後面沒有冒號。
輸出:
[value, value2, key: somethink.two]
從我也是upvote。有用。也許這位下來的選民是這樣做的,因爲嫉妒。 :) – muasif80 2015-03-13 14:29:28
非常感謝。你只知道該怎麼寫?我有問題「(?=。*?:)」 – 2015-03-13 14:31:43
什麼問題? – 2015-03-13 14:33:59
那你試試?爲什麼失敗?你嘗試了哪些其他用例,哪些失敗了?爲什麼你需要正則表達式?你的代碼在哪裏?當你調試你的代碼時發生了什麼? – Kon 2015-03-13 14:25:32