我有一個字符串格式化是這樣的:Java字符串分割與重複分離
String str = "AA.BBB..CC.DDDD...EE....F.G..H";
而且我想用這個作爲輸出的一個點拆分此字符串:
AA
BBB
.CC
DDDD
.
EE
..
F
G
.H
當然str.split("\\.")
做不行。
我有一個字符串格式化是這樣的:Java字符串分割與重複分離
String str = "AA.BBB..CC.DDDD...EE....F.G..H";
而且我想用這個作爲輸出的一個點拆分此字符串:
AA
BBB
.CC
DDDD
.
EE
..
F
G
.H
當然str.split("\\.")
做不行。
這應該工作:
str.split("(?<!\\.)\\.|(?<=\\.\\.)\\.(?!\\.)")
該字符串應該在這兩個情況下拆分:
.
沒有被其他.
.
之前不被.
得手,並在之前連續2個.
。+1非常接近它。但無法得到確切的結果。在第二部分中缺少'(?<= \\。\\。)'。 :) –
謝謝,這工作得很好;) – Enroy
爲什麼會出現'2 dots'在E和F之間,按順序?不應該是兩條獨立線路上的那些線路? –
我認爲他想每一個開始,以點結束串。就像是 」。*。」並且,如果子字符串的開頭有多個點,他會將第一個點作爲分隔符並將其他字符串包含在字符串中。 –
@DanielaMogini。在這種情況下,輸出'DDDD ... EE .... F'不遵循。 –