c = "abc ab cd-abc-abc";
String[] cinput = c.split("(?<=[ ])|(-)|(?<=ab cd)|(?=ab cd)");
我想像这样分割字符串 c (顺序也很重要):
cinput[0] = "abc " (notice the space)
cinput[1] = "ab cd"
cinput[2] = "abc"
cinput[3] = "abc"
另一个例子:
c = "abc-abc abc ab cd-ab-cd";
cinput[0] = "abc"
cinput[1] = "abc "
cinput[2] = "abc "
cinput[3] = "ab cd"
cinput[4] = "ab"
cinput[5] = "cd"
分隔符“”、“-”和“ab cd”。我这样做的方式“ab cd”变成两个数组元素“ab”和“cd”,但我希望它们一起在一个元素中。
关于如何解决这个问题以及我做错了什么有什么想法吗?
最佳答案
由于分隔 rune 本中有空格,并且分隔符之一也有空格,因此您可能需要使用额外的逻辑分多个步骤进行分割
1) 按“-”拆分,将生成:{ "abc ab cd", "adc", "abc"}
2)检查您的文本字段
if ( text[].contains("ab cd") )
- 从文本中删除“ab cd”并保存
=> {"abc ", "abc", "abc"} 和 {"ab cd"}
3)在空白处拆分未保存的文本并合并两组
关于java - 按空格、连字符和 "ab cd"分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14347853/