Java 替换包含数字或特殊符号的字符串中的单词

Java 替换包含数字或特殊符号的字符串中的单词,java,regex,string,Java,Regex,String,我有一根绳子 String str = "Test!T Test1Test Test1 Test!"; 此字符串中的案例数: 测试!T:这个词包含特殊字符 Test1Test:这个单词包含数字1 Test1:此单词末尾包含数字1 测试:此单词包含特殊字符在这个单词的末尾 现在我想替换上面字符串中的那些单词,在我的案例测试中,这些字符串包含单词means(案例1和案例2)!T和Test1Test将被空格替换 预期输出:Test1测试 如何从定义的字符串中替换1或2个大小写?您可以使用简单的正则表

我有一根绳子

String str = "Test!T Test1Test Test1 Test!";
此字符串中的案例数:

  • 测试!T
    :这个词包含特殊字符
  • Test1Test
    :这个单词包含数字
    1
  • Test1
    :此单词末尾包含数字
    1
  • 测试:此单词包含特殊字符
    在这个单词的末尾
  • 现在我想替换上面字符串中的那些单词,在我的案例测试中,这些字符串包含单词means
    (案例1和案例2)
    !T和Test1Test将被空格替换

    预期输出:
    Test1测试


    如何从定义的字符串中替换1或2个大小写?

    您可以使用简单的正则表达式,如
    [a-zA-Z]++\\S+[a-zA-Z]++
    来实现它

    以下是代码片段:

    public static void main (String[] args)
    {
        String str = "Test!T Test1Test Test1 Test!";
        System.out.println(str.replaceAll("[a-zA-Z]++\\S+[a-zA-Z]+",""));
    }
    
    输出:

    Test1 Test!
    

    额外注意:特殊字符可以是任何字符。可以是ascii字符或特殊字符character@Shiladittya是的,你说得对。我应该改用元字符。更新了解决方案。谢谢