使用正则表达式检查特殊字符java

时间:2017-03-15 02:45:32

标签: java regex string concatenation

我想查看一个单词是否包含特殊字符并将其删除。假设我有String word = "hello-there",我想循环检查这个单词是否包含一个字母,然后删除该特殊字符并连接该单词。所以我想使用正则表达式将hello-there变为hellothere。我试过这个,但我似乎无法弄清楚如何检查字符串的单个字符到正则表达式。

public static void main(String[] args){
String word = "hello-there";

for(int i = 0; i < word.length(); i++)
{
    if(word.charAt(i).matches("^[a-zA-Z]+"))

但最后的if语句并不起作用。有谁知道怎么处理这个?

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式,它匹配任何不是小写或大写字母的字符。

[^a-zA-Z]+ 

请参阅regex demo

Java demo

class RegEx {
    public static void main(String[] args) {
        String s = "hello-there";
        String r = "[^a-zA-Z]+";
        String o = s.replaceAll(r, "");
        System.out.println(o); //-> hellothere
    }
}