我必须将一个字符串分成一个可能包含空格的数组,例如
|玛利亚|若昂|费尔南多||
但是当你在行尾有空格时会被忽略
我正在使用此regex split("\\|")
它应该是这样的:maria,joao,fernando,null
但保持这样:maria,joao,fernando
答案 0 :(得分:0)
您只需要为分割字符串
添加双反斜杠 String s = "|maria|joao|fernando||";
String [] st =s.split("\\|");
for (String string : st) {
System.out.print(string+",");
}
答案 1 :(得分:0)
您可以使用:
String str = "|maria|joao|fernando||";
String[] tokens = str.replaceAll("^[|]|[|]$", "").split("[|]", -1));
//=> [maria, joao, fernando, ""]
<强>步骤:强>
|
方法替换开始和结束replaceAll
,以maria|joao|fernando|
作为split
的输入。split
方法将其拆分为第二个参数-1
,以返回空标记。答案 2 :(得分:0)
List<String> params = Pattern
.compile("\\|")
.splitAsStream("|maria|joao|fernando||")
.filter(e -> e.trim().length() > 0) // Remove spaces only or empty strings
.collect(Collectors.toList());