请教下如果判断2个String的内容是否是相同类型的,比如,都是中文,都是拼音,或都是符号,或都是数字等.

解决方案 »

  1.   

    判断内容是否相同用
    a.equals("b");
      

  2.   

    1.定义字符串类型
      0- 中文
      1- 拼音
      2-符号
      3 -数字
      ....
      ....
    2.写一个方法,输入参数是String,输出是这个Stirng的类型(1中的一种)
      
    3.写一个方法,输入是要比较的两个字符串,输出是布尔型
       方法中分别用2中的方法得出两个字符串的类型值
       如果两个相等,输出true, 否则输出false
      

  3.   

    看错了.首先你要知道String的类型有几种,
    然后用正则表达式
      

  4.   

    楼主你是判断2个String的内容是否是相同类型的是吧
    如果两个String内容相等if(str1.equals(str2))这时候就可以知道他们是否相同类型哦
    这样不就行了吗,if(str1.equals(str2))如果是true的话,那他们类型肯定相同啊。不要想的那么复杂啊。
      

  5.   

    如果两个String内容相等if(str1.equals(str2))这时候就可以知道他们是否相同类型哦这个只能知道2个String的内容是否相同,并不能判断类型的
      

  6.   

    String str = "^[-A-Za-z0-9/\\]+$";
    Pattern p=Pattern.compile(str);
    Matcher m=p.matcher(strTemp);//strTemp 是要匹配的STRING
    boolean rs=m.find();
    用正则表达式,上面的表达式出错了,能否帮我看看
    表达一个由字母,数字,-,\,/ 这些组成的表达式
      

  7.   

    String.equalsIgnoreCase(String)
    String.compareTo(String)
      

  8.   


    这个比较内容是否相同的比如 "ADA" 和"HYTHY" 2个STRING 都是字母,应该是相同类型
      

  9.   

    现在想的就是用正则表达式
    String str = "^[-A-Za-z0-9/\\]+$"; 
    Pattern p=Pattern.compile(str); 
    Matcher m=p.matcher(strTemp);//strTemp 是要匹配的STRING 
    boolean rs=m.find(); 
    用正则表达式,上面的表达式出错了,能否帮我看看 
    表达一个由字母,数字,-,\,/ 这些组成的表达式
      

  10.   

    给你个不完全的代码。你可以继续改进
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class SameType { public boolean isSameType(String str1, String str2) {
    if(str1==null && str2==null) return true;
    String trimStr1 = str1.trim();
    String trimStr2 = str2.trim();
    if(trimStr1.length()==0 || trimStr2.length()==0) return true;
    if(isContainsHanZi(trimStr1) && isContainsHanZi(trimStr2)) return true;
    if(isContainsPinYin(trimStr1) && isContainsPinYin(trimStr2)) return true;
    if(isContainsNumber(trimStr1) && isContainsNumber(trimStr2)) return true;
    if(isContainsEnglish(trimStr1) && isContainsEnglish(trimStr2)) return true;
    return false;
    }

    private boolean isContainsHanZi(String str) {
            Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]");
    Matcher matcher = pattern.matcher(str);
    return matcher.find();
    }

    private boolean isContainsPinYin(String str) {
    Pattern pattern = Pattern.compile("[āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜü]");
    Matcher matcher = pattern.matcher(str);
    return matcher.find();
    }

    private boolean isContainsNumber(String str) {
     Pattern pattern = Pattern.compile("[0-9]");
     Matcher matcher = pattern.matcher(str);
     return matcher.find();
    }

    private boolean isContainsEnglish(String str) {
    Pattern pattern = Pattern.compile("[a-zA-Z]");
    Matcher matcher = pattern.matcher(str);
    return matcher.find();
    }

    public static void main(String[] args) {
    SameType sameType = new SameType();
    System.out.println(sameType.isSameType("asdf", "chjj"));
    System.out.println(sameType.isSameType("123", "346"));
    System.out.println(sameType.isSameType("我们", "他们 "));
    System.out.println(sameType.isSameType("nǐ měn", "tā měn"));
    }
    }
      

  11.   

    楼上厉害,那如果是日文,那Pattern pattern = Pattern.compile("str");  str该怎么写呢
      

  12.   

    哈哈,居然还有日文啊。看下面的吧。2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。 3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。 4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。 A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。 AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。 F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。 FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等
      

  13.   


    //比较2个字符串内容是否相同
    String str1 = "等级分类所得结论";
    String str2 = "等级分类所得结论";
    System.out.println(str1.equals(str2));
      

  14.   

    String str1 = "等级分类所得结论";
    String str2 = "等级分类所得结论";
    System.out.println(str1.equals(str2));
      

  15.   

    equals()这个方法指的是内容相等;
    String s=new String("b"),
    String c=new String("b");
    指的是对象相等。