拆分以逗号分隔的字符串,但忽略逗号后跟空格

时间:2018-02-25 23:16:35

标签: java

public static void main(String [] args){

static Stream fileStream=null;

}

输出: [今天,明天,2,1,5,5,0]

今天

(空间)和明天

我想将“今天和明天”视为表示titleSep的第一个索引值的短语(不想在它包含的逗号中分隔)。 什么是split方法参数只能在逗号​​后面跟一个空格分割字符串? (Java 8)

2 个答案:

答案 0 :(得分:1)

使用负面展望:

String[] titleSep = title.split(",(?! )");

正则表达式(?! )表示“当前位置后面的输入不是空格”。

仅供参考,预测为负面,形式为(?!<some regex>),前瞻性形式为(?=<some regex>)

答案 1 :(得分:1)

split函数的参数是一个正则表达式,所以我们可以使用负前瞻来按逗号分隔后跟空格:

String title = "Today, and tomorrow,2,1,2,5,0";
String[] titleSep = title.split(",(?! )");  // comma not followed by space
System.out.println(Arrays.toString(titleSep));
System.out.println(titleSep[0]);
System.out.println(titleSep[1]);

输出结果为:

[Today, and tomorrow, 2, 1, 2, 5, 0]
Today, and tomorrow
2