拆分字符串时会删除数字

时间:2016-07-05 16:15:04

标签: java split

我有一个字符串,我需要删除所有提到的标点符号和空格。我的代码如下:

String s = "s[film] fever(normal) curse;";
String[] spart = s.split("[,/?:;\\[\\]\"{}()\\-_+*=|<>!`~@#$%^&\\s+]");
System.out.println("spart[0]: " + spart[0]);
System.out.println("spart[1]: " + spart[1]);
System.out.println("spart[2]: " + spart[2]);
System.out.println("spart[3]: " + spart[3]);

我有一个字符串,我需要删除所有提到的标点符号和空格。我的代码如下:

String s = "s[film] fever(normal) curse;";
String[] spart = s.split("[,/?:;\\[\\]\"{}()\\-_+*=|<>!`~@#$%^&\\s+]");
System.out.println("spart[0]: " + spart[0]);
System.out.println("spart[1]: " + spart[1]);
System.out.println("spart[2]: " + spart[2]);
System.out.println("spart[3]: " + spart[3]);

但是,我得到一些空白的元素。输出是:

spart[0]: s
spart[1]: film
spart[2]:
spart[3]: normal

3 个答案:

答案 0 :(得分:1)

-定义String.split参数使用的正则表达式中的范围,以便需要转义

String[] part = line.toLowerCase().split("[,/?:;\"{}()\\-_+*=|<>!`~@#$%^&]");

答案 1 :(得分:1)

-是PHP字符类中的特殊字符。例如,[a-z]匹配从a到z的所有字符。请注意,您的正则表达式中包含)-_

答案 2 :(得分:0)

String[] spart = s.split("[,/?:;\\[\\]\"{}()\\-_+*=|<>!`~@#$%^&\\s]+");