0

我这里有一个纯 java 代码,这个给我一个输出“特殊字符是:java.util.regex.Matcher[pattern=[\p{Punct}&&[^_]]+ region=0,8 lastmatch= &&=+-]”,因为我编译和运行,但我只想根据我的给定值输出“特殊字符是:&&=+-”。并且字符串与“字符串是:sam”相同,但不知道该怎么做,请帮助......我使用了netbeans ide

     import java.util.regex.Matcher;
     import java.util.regex.Pattern;

     class SubstringsOfAString
     {
      public static void main(String args[])
         {

        String sample = "sam&&=+-";
        Pattern p = Pattern.compile("[\\p{Punct}&&[^_]]+");
         Matcher m = p.matcher(sample);

       boolean b = m.find();

       if(b == true)
       {
         System.out.println("Special Characters are: " + m );

         }

       else {
      System.out.println("Nothing" );
       }

            }
     }
4

1 回答 1

0

将 System.out 替换为

         System.out.println("Special Characters are: " + m.group());

在您的解决方案中,您正在打印整个 Matcher 对象,而不是匹配项。

于 2013-01-25T04:52:43.687 回答