除了#字符之外的某些字符的拆分字符串

时间:2015-07-17 11:57:49

标签: java

我想将字符串拆分为以下字符

\\s

我尝试使用#正则表达式分隔符,但我不希望将this is #funny作为拆分字符包含在内,以便this之类的字符串生成is } #funny this is #funny".split("\\s")作为结果值。

我尝试了以下但是它没有用。

var elementType = $(element).prop('tagName');

但它不起作用。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

只需在方括号中指定所需的字符,即任何。单个转义Java字符(如\")和双转义正则表达式特殊字符(如\\[):

@Test
public void testName() throws Exception
{
    String[] split = "this is #funny".split("[~!@$%^&*()_+­=<>,.?/:;\"'{}|\\[\\]\\\\ \\n\\t]");
    for (String string : split) 
    {
        logger.debug(string);
    }
}

答案 1 :(得分:0)

来自String的用户replaceAll(String regex,String replacement)方法。

 String result = "this is #funny".replaceAll("[~!@$%^&*()_+­=<>,.?/:;\"'{}|\\[\\]\\,\\n\\t]", "");
 System.out.println(result);

答案 2 :(得分:0)

看起来这对你有用:

String[] split = str.split("[^a-zA-Z&&[^#]]+");

这使用字符类减法来拆分非字母字符,但散列除外。

这是一些测试代码:

String str = "this is #funny";
String[] split = str.split("[^a-zA-Z&&[^#]]+");
System.out.println(Arrays.toString(split));

输出:

[this, is, #funny]

答案 3 :(得分:0)

您可以尝试实现此目的:

String[] split = "this&is%a#funny^string".split("[^#\\p{Alnum}]|\\s+");
for (String string : split){
    System.out.println(string);
}

另请查看Java API (Patterns)以获取有关如何处理字符串的更多信息。