我正在尝试从用户输入中读取并计算句子中的标点符号并将其打印出来。谁能指导我正确的做法是什么。我的代码无法正常工作。
谢谢
int digit = 0, letter = 0, punc = 0;
char c;
for (int a = 0; a<sentence.length(); a++){
c=sentence.charAt(a);
if(Character.isLetter(c))
letter++;
if(Character.isDigit(c))
digit++;
if(sentence.contains("[\\p{Punct}]")){
punc++;
}
}
最佳答案
由于String#contains
不使用正则表达式,您需要使用另一种方法来计算标点符号。
使用Pattern
和Matcher
Pattern p = Pattern.compile("[\\p{Punct}]");
Matcher m = p.matcher("Hi, I'm testing the Regex Expression !");
while (m.find()) {
punc++;
}
System.out.println(punc); // 3
关于java - 使用正则表达式计算用户输入的标点符号并打印出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36383719/