使用java正则表达式删除空行
我有一个有趣的字符串,我想正确地分解成一个字符串数组。这个字符串如下所示使用java正则表达式删除空行,java,regex,Java,Regex,我有一个有趣的字符串,我想正确地分解成一个字符串数组。这个字符串如下所示 String test="?[32,120],x1y1,[object pieceP1],null]"; 现在我有了一个正则表达式来解决这个问题 String delims = "[?,\\[\\]]"; 现在,使用此代码拆分它的结果 String[] tokens = mapString.split(delims); 产生这个结果 --> --> 32 120 --> x1y1 --> 对象片段1 --> 空 其中
String test="?[32,120],x1y1,[object pieceP1],null]";
现在我有了一个正则表达式来解决这个问题
String delims = "[?,\\[\\]]";
现在,使用此代码拆分它的结果
String[] tokens = mapString.split(delims);
产生这个结果
-->-->
32
120
-->
x1y1
-->
对象片段1
-->
空
其中箭头为空行 如何修改此正则表达式,使其不存在空行 提前非常感谢你
~Selcuk您可以使用谷歌番石榴的
拆分器
类来实现:
Splitter.ommiteEmptyStrings()
应该可以完成这项工作。您可以使用Google Guava的Splitter
类来实现:
Splitter.ommitEmptyStrings()
应该可以完成这项工作。试试这个
public class Regex
{
public static void main(String[] args)
{
String []split = "?[32,120],x1y1,[object pieceP1],null]".split("([?,\\[\\]])+");
for (int i = 0; i < split.length; i++) {
System.out.println("'"+split[i]+"'");
}
}
}
试试这个
public class Regex
{
public static void main(String[] args)
{
String []split = "?[32,120],x1y1,[object pieceP1],null]".split("([?,\\[\\]])+");
for (int i = 0; i < split.length; i++) {
System.out.println("'"+split[i]+"'");
}
}
}
String delims=“[?,\[\\]]+”代码>/[]+
但是前面的空元素仍然存在。字符串delims=“[?,\\[\]]+”代码>/[]+
但是前面的空元素仍然存在