因此,我有一个扫描器,它接收一个字符串并将其保存到输入中,然后我尝试这样做。
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);
}
}这是我正在使用的代码。我所需要的只是把所有的标点符号和空格替换为零。
发布于 2015-03-24 15:40:54
这一行:
str.replaceAll(",.?!' ", "");将搜索整个字符串",?!“将被替换。replaceAll方法的参数是正则表达式。
所以,这样做肯定会更好:
str.replaceAll("[,.?!' ]", "");发布于 2015-03-24 15:41:52
第一个参数必须是正则表达式,这里是替代字符类[ ... ]。
String str1 = str.replaceAll("[?/.,!' ]", "");或者更广义的s=whitespace,Punct=punctuation:
String str1 = str.replaceAll("[\\s\\p{Punct}]", "");发布于 2015-03-24 15:40:57
除非字符,.?!一起出现在输入String中,否则不会进行替换。您可以使用字符类来指定字符的范围。
str1 = str.replaceAll("[,.?!' ]", "");https://stackoverflow.com/questions/29236835
复制相似问题