我试图将一个字符串加载到数组中,删除所有的空格和标点符号。问题是,如果我在一行中有两个分隔符,它会在数组中留下空白。用Java中的多个分隔符解析字符串
我有什么:
String[] temparray =inputstr.split("\\s+|,|;|\\(|\\)|, ");
例子:
inputstr = "I bought bread, eggs, and milk"
它的输出:
I
bought
bread
eggs
and
milk
任何人都知道如何保持逗号后的空间被加载到阵列?
请您进一步解释。 – mok
@mok'[]'创建一个由空白字符,逗号,分号和左右括号组成的字符类。将该类传递给split()方法将导致它在任何这些字符上分裂。字符类后面的'+'表示'1或更多',所以'split()'将会分割成一个或多个字符。它会分割成一个','或者一个,然后是'','后面的空格。它也将分裂连续两个逗号,或',; ()'等 –
@mok这意味着它将使用这些字符的一个或多个_序列作为分隔符。这意味着如果你的字符串是''我买了面包,鸡蛋,,,和牛奶'',它会返回一个长度为6的数组{“我”,“买”,“面包”,“鸡蛋” “和”,“牛奶”}'。 – ajb