Java “'”的正则表达式符号

Java “'”的正则表达式符号,java,android,regex,Java,Android,Regex,我知道一些符号,如引号和引号;需要对Java上的regexing进行特殊处理。我想知道关于“符号”的事 如果可能的话,有人可以把我链接到我可以找到符号名称的地方 我这样做的原因是因为在我的字符串中有一堆奇怪的符号,我使用这个正则表达式删除除少数选中符号之外的所有符号 String string = ""Hello&*(#$%Everyone!,\n is everyone a good time."";//Sample string requested by someone strin

我知道一些符号,如引号和引号;需要对Java上的regexing进行特殊处理。我想知道关于“符号”的事

如果可能的话,有人可以把我链接到我可以找到符号名称的地方

我这样做的原因是因为在我的字符串中有一堆奇怪的符号,我使用这个正则表达式删除除少数选中符号之外的所有符号

String string = ""Hello&*(#$%Everyone!,\n is everyone a good time."";//Sample string requested by someone

string = string.replaceAll("[^\\w!,.\n-&quote;?]+", " ");
我添加了一个可运行的测试示例

string = string.replaceAll("[^\\w!,.\n[-][']&quote;?]+", " ");& 
string = string.replaceAll("[^\\w!,.\n-'&quote;?]+", " ");

只需在括号[']之间添加符号即可


如果您尝试这样的代码,则不需要转义:

String string = "Hello&*(#$%Everyone!,\n is everyone's a good time.?"; 
System.out.printf("[%s]%n", string.replaceAll("[^\\w!,'.\n?-]+", " "));
输出为:

[Hello Everyone!,
 is everyone's a good time.?]

您可以看到输出字符串中保留了引号。

使用string=string.replaceAll[w!,。\n-'?]+;。你使用“^符号巫婆”的意思是:不是下列任何一项,所以不要惊讶地说“那里找不到它”。java正则表达式中没有什么比"e更好的了。

首先,我要感谢你们所有人,他们付出了巨大的努力来帮助我解决我的问题。显然,HTML中有这样的符号“,”,而不是注册为”

这是解决办法

string = string.replaceAll("[^\\w!’‘,.\n'&quote;&apose;?]+", " ");

这里的实际问题是什么?不,它们不需要特殊的摄入。也许您正在考虑如何在Java字符串中转义字符?这将是通过使用反斜杠\。符号是just'。问题是什么?我正在尝试确保符号不会从string=string.replaceAll[^\\w!,。\n-"e;?]+,;的正则表达式中删除;双引号在regexp端不需要特殊处理。它们确实需要Java方面的特殊处理,即转义。这不适用于单引号。在regexp端确实需要特殊处理的字符是元字符,例如*、+,等等。处理它们的最简单方法是将它们括在[]中,例如[]匹配一个句点,而。匹配任何字符。你能用你的实际html字符串试试我答案中的正则表达式吗?非常感谢你能帮我测试。用这个来考验我的屁股。什么!?!给我两个字符串:输入一个字符串和你想要的输出。你想让我给你发电子邮件告诉你它是什么样子吗?不能把所有的东西都放在屏幕上。还是不接受。然而在普通Java上,它接受它,而不是android 2.2。如果不想删除,请使用[^']。。。同时,在所有字符周围放上括号。例如[^'A-Z]