Java Input1=input.replaceAll不工作

Java Input1=input.replaceAll不工作,java,replaceall,Java,Replaceall,所以我有一个扫描仪,它接收一个字符串并将其保存到输入中,然后我尝试这样做 input.replaceAll("?/.,!' ", ""); 然后打印下面的行来测试它,但它不能代替任何东西 import java.util.Scanner; public class Test2 { public static void main (String[]args){ Scanner sc = new Scanner (System.i

所以我有一个扫描仪,它接收一个字符串并将其保存到输入中,然后我尝试这样做

    input.replaceAll("?/.,!' ", ""); 
然后打印下面的行来测试它,但它不能代替任何东西

    import java.util.Scanner;

    public class Test2 {
        public static void main (String[]args){
            Scanner sc = new Scanner (System.in);
            System.out.print("Please enter a sentence: ");
            String str = sc.nextLine();

            int x, strCount = 0;
            String str1;

            str1 = str.replaceAll(",.?!' ", "");

            System.out.println(str1);

            for (x = 0; x < str1.length(); x++)
            {
                strCount++;
            }
            System.out.println("Character Count is: " + strCount);

       }

    }
import java.util.Scanner;
公共类Test2{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
系统输出打印(“请输入句子:”);
字符串str=sc.nextLine();
整数x,strCount=0;
字符串str1;
str1=str.replaceAll(“,.?!”,”);
系统输出打印项次(str1);
对于(x=0;x
这是我正在使用的代码。我只需要将所有标点和空格替换为零。

这一行:

str.replaceAll(",.?!' ", "");
将搜索要替换的整个字符串“,.?!”。 replaceAll方法的参数是正则表达式

因此,这样做肯定会更好:

str.replaceAll("[,.?!' ]", "");
这一行:

str.replaceAll(",.?!' ", "");
将搜索要替换的整个字符串“,.?!”。 replaceAll方法的参数是正则表达式

因此,这样做肯定会更好:

str.replaceAll("[,.?!' ]", "");

除非字符
同时出现在输入
字符串中
不会进行替换。可以使用字符类指定字符范围

str1 = str.replaceAll("[,.?!' ]", "");

除非字符
同时出现在输入
字符串中
不会进行替换。可以使用字符类指定字符范围

str1 = str.replaceAll("[,.?!' ]", "");

replaceAll
将正则表达式作为第一个参数,因此需要将其格式化为:

str1 = str.replaceAll("[,.?!' ]", "");

更多信息:

replaceAll
将正则表达式作为第一个参数,因此需要将其格式化为:

str1 = str.replaceAll("[,.?!' ]", "");

更多信息:

第一个参数必须是正则表达式,这里是可选字符类
[…]

String str1 = str.replaceAll("[?/.,!' ]", "");
或更广义的s=空格,点号=标点符号:

String str1 = str.replaceAll("[\\s\\p{Punct}]", "");

第一个参数必须是正则表达式,这里是可选字符类
[…]

String str1 = str.replaceAll("[?/.,!' ]", "");
或更广义的s=空格,点号=标点符号:

String str1 = str.replaceAll("[\\s\\p{Punct}]", "");

您需要将您的代码放在
循环的
中,以便尝试以下操作:
str1=str.replaceAll(“[\\p{标点符号}\\p{Space\u Separator}]”,“”)
您需要将您的代码放入
循环中,以获得可能的重复代码,请尝试以下操作:
str1=str.replaceAll(“[\\p{标点符号}\\p{Space\u Separator}]”,“”)