想检测输入的java字符串中是否 以  /*开头或者*/结尾  ,但是用转义字符\*  检测字符*好像不行,请问该怎么办?

解决方案 »

  1.   

    public static void main(String[] args) {
    String s = "*sdafsadfsad*";
    String s1 = "sdafsadfsad*";
    String s2 = "*sdafsadfsad";
    method(s);
    method(s1);
    method(s2);
    } public static void method(String s) {
    System.out.println("*号开头" + (s.indexOf("*") == 0) + ":*号结尾"
    + (s.lastIndexOf("*") == s.length() - 1));
    }这么整就行了哇
      

  2.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test2 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String str1= "/*aaa213";
    String str2= "bbb333*/";
    String str3= "bbb333";

    String regex = "^/\\*\\S*|\\S*\\*/$";
    Matcher m1 = Pattern.compile(regex).matcher(str1);
    Matcher m2 = Pattern.compile(regex).matcher(str2);
    Matcher m3 = Pattern.compile(regex).matcher(str3);
    System.out.println(m1.find());
    System.out.println(m2.find());
    System.out.println(m3.find());
    }}
      

  3.   

    import java.util.regex.*;
    public class Pattern {
    public static void main(String [] args){

    java.util.regex.Pattern mypPattern = java.util.regex.Pattern.compile("^*ranqi");
    Matcher matcher=mypPattern.matcher("*ranqihaha");
    boolean bb =matcher.matches();
    System.out.println(bb);
    matcher=mypPattern.matcher("__ranqihaha*");
    bb =matcher.matches();
    System.out.println(bb);
    System.out.println("*ranqihaha".indexOf("*")==0);
    System.out.println("*ranqihaha".lastIndexOf("*")==0);
    }
    }
      

  4.   

    无须转义字符,直接"/*ddsdfwefw*/".indexOf("*")判断返回值即可。
      

  5.   

    *在正则表达式里面表示任意字符  想判断的话加中括号试试[*]
    或者直接用indexOf