【问题标题】:Ignore special characters on StringTokenizer忽略 StringTokenizer 上的特殊字符
【发布时间】:2016-08-19 14:38:14
【问题描述】:

我想使用字符串标记器忽略特殊字符,例如 , " ; :。 例如,如果我输入:

He said, "That's not a good idea."

输出应该是:

He
Said
that
s
not
a
good
idea

这是我当前的代码

class MyClass
{
    public static void main(String[] argv)
    {
        System.out.print("Enter text to break :- ");
        Scanner sc = new Scanner(System.in);
        String x = sc.nextLine();
        StringTokenizer url = new StringTokenizer(x, " ");              
        
        while(url.hasMoreTokens())
        {
            System.out.println(url.nextToken());
        }
    }
}

【问题讨论】:

标签: java special-characters stringtokenizer


【解决方案1】:

您可以像这样用regex 替换该特殊字符:

class Q_03 {
    public static void main(String[] argv) {
        System.out.print("Enter text to break :- ");
        Scanner sc = new Scanner(System.in);
        String x = sc.nextLine().replaceAll("[|;:,'\"]", " ");
        StringTokenizer url = new StringTokenizer(x, " ");

        while (url.hasMoreTokens()) {
            System.out.println(url.nextToken());
        }
    }
}

您可以在此正则表达式"[;:,'\"]" 中添加您想要的任何符号,但某些特殊符号(如")必须使用反斜杠\" 进行转义。

【讨论】:

  • 它成功了,谢谢。但是当我把字符像 |它给出了一个编译错误。
  • 它适用于|,我对其进行了测试。我更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 2013-12-11
  • 2023-03-22
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多