我有一个字符串格式化是这样的: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'不遵循。 –