我正在做一个Android项目,需要将#
,&
等非字字符分割...
在任何非单词字符处使用\b
拆分。所以我需要一种方法来按以下方式拆分字符串。
输入:(.
表示空格)
A.A#..A##
期望的输出:
A
.
A#
..
A##
所以这5行是我想要的数组或类似的5个值。这意味着result-array的第4个元素包含2个空格。
答案 0 :(得分:2)
我认为这就是你想要的:
(?<=\S)(?=\s)|(?<=\s)(?=\S)
基本上我说“如果前一个字符是非空格而下一个是空格或如果前一个是空格而下一个是非空格,那么拆分”
答案 1 :(得分:1)
使用StringTokenizer:
StringTokenizer st = new StringTokenizer("A.A#..A##", ".");//first argument is string you want to split, another is whitespace
while(st.hasMoreTokens())
System.out.println(st.nextToken());
输出将是: 一个 一个# 甲##
答案 2 :(得分:0)
尝试:
String s = "A.A#..A##";
if(s.contains("..")) | s.contains("...")) {
s.replace("..", ".");
s.replace("...", ".");
String out[] = s.split(".");
它应该以你想要的方式给你一个带字符串的数组:)
不要忘记更换“。”与实际空间:)