如何使用字符串标记符从用户中排除输入的标点符号?

时间:2016-10-26 02:21:53

标签: java java.util.scanner delimiter stringtokenizer

我已经看到了与此问题类似的问题,Stack Overflow上的答案似乎并不能解决问题。我听说您需要使用use.Delimeter,但是,之前我从未使用它,并想知道如何使用它来排除用户输入的字符串中的标点符号。分配提示问题在这里:

更改CountWords程序(代码清单3.10),使其在字符数中不包含标点字符。提示:您必须更改StringTokenizer类使用的分隔符集。

清单3.10:

import java.util.Scanner;
import java.util.StringTokenizer;

public class ThreeEight {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int wordCount = 0, characterCount = 0;
        String line, word;
        StringTokenizer tokenizer;
        System.out.println("Please enter text (type DONE to quit):");
        line = scan.next();
        while (!line.equals("DONE")) {
            tokenizer = new StringTokenizer(line);
            while (tokenizer.hasMoreTokens()) {
                word = tokenizer.nextToken();
                wordCount++;
                characterCount += word.length();
            }
            line = scan.next();
        }
        System.out.println("Number of words: " + wordCount);
        System.out.println("Number of characters: " + characterCount);
    }
}

输出:

  

请输入文字(输入DONE退出):
      你好,世界! @#$%^&安培; ():“<>〜/ \
      DONE
      字数:3
      字符数:29

正如您所看到的,它不会计算标点符号,我会用什么代码来排除标点符号?我使用use.Delimeter,但它说这是一种无效的方法。

0 个答案:

没有答案