我想将字符串拆分为以下字符
\\s
我尝试使用#
正则表达式分隔符,但我不希望将this is #funny
作为拆分字符包含在内,以便this
之类的字符串生成is
} #funny
this is #funny".split("\\s")
作为结果值。
我尝试了以下但是它没有用。
var elementType = $(element).prop('tagName');
但它不起作用。有什么想法吗?
答案 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)以获取有关如何处理字符串的更多信息。