java拆分字符串,以包含由空格表示的空值
我试图拆分包含空格的输入字符串,但我不想将其从拆分中切断,我想将其包含在拆分数组中。在这种情况下,有没有更好的正则表达式或方法
String data = "1 a1 b1 r5";
String splitData = data.split("\\s+");
for(String x : splitData){
System.out.print(x + ", ");
}
Expected output: 1, , , , , ,a1, b1, , r5
# 1 楼答案
如果要创建令牌数组,只需使用:
字符串[]sp=s.split(“”)
但是,这将在第一个项目之后创建4个空项目,而不是5个
在“a1”和“b1”之间有1个空格,您希望那里有0个空项。 在“b1”和“r5”之间有两个空格,您希望其中有一个空项。 “1”和“a1”之间有5个空格。为什么你希望那里有5个空项目而不是4个
为什么预期的输出在“a1”前面的逗号后面没有空格
# 2 楼答案
我被你的方法弄糊涂了。如果这就是你想要做的,那么可以做得简单得多:
中间一行简单地用逗号和空格取代空格字符“,”。最终输出与您请求的输出匹配:
如果这是一个简单的例子,你真的打算使用一个更复杂的正则表达式,请发布这个正则表达式,我们可以开始处理它