请教下如果判断2个String的内容是否是相同类型 请教下如果判断2个String的内容是否是相同类型的,比如,都是中文,都是拼音,或都是符号,或都是数字等. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 判断内容是否相同用a.equals("b"); 1.定义字符串类型 0- 中文 1- 拼音 2-符号 3 -数字 .... ....2.写一个方法,输入参数是String,输出是这个Stirng的类型(1中的一种) 3.写一个方法,输入是要比较的两个字符串,输出是布尔型 方法中分别用2中的方法得出两个字符串的类型值 如果两个相等,输出true, 否则输出false 看错了.首先你要知道String的类型有几种,然后用正则表达式 楼主你是判断2个String的内容是否是相同类型的是吧如果两个String内容相等if(str1.equals(str2))这时候就可以知道他们是否相同类型哦这样不就行了吗,if(str1.equals(str2))如果是true的话,那他们类型肯定相同啊。不要想的那么复杂啊。 如果两个String内容相等if(str1.equals(str2))这时候就可以知道他们是否相同类型哦这个只能知道2个String的内容是否相同,并不能判断类型的 String str = "^[-A-Za-z0-9/\\]+$";Pattern p=Pattern.compile(str);Matcher m=p.matcher(strTemp);//strTemp 是要匹配的STRINGboolean rs=m.find();用正则表达式,上面的表达式出错了,能否帮我看看表达一个由字母,数字,-,\,/ 这些组成的表达式 String.equalsIgnoreCase(String)String.compareTo(String) 这个比较内容是否相同的比如 "ADA" 和"HYTHY" 2个STRING 都是字母,应该是相同类型 现在想的就是用正则表达式String str = "^[-A-Za-z0-9/\\]+$"; Pattern p=Pattern.compile(str); Matcher m=p.matcher(strTemp);//strTemp 是要匹配的STRING boolean rs=m.find(); 用正则表达式,上面的表达式出错了,能否帮我看看 表达一个由字母,数字,-,\,/ 这些组成的表达式 给你个不完全的代码。你可以继续改进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")); }} 楼上厉害,那如果是日文,那Pattern pattern = Pattern.compile("str"); str该怎么写呢 哈哈,居然还有日文啊。看下面的吧。2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。 3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。 4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。 A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。 AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。 F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。 FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等 //比较2个字符串内容是否相同 String str1 = "等级分类所得结论"; String str2 = "等级分类所得结论"; System.out.println(str1.equals(str2)); String str1 = "等级分类所得结论";String str2 = "等级分类所得结论";System.out.println(str1.equals(str2)); equals()这个方法指的是内容相等;String s=new String("b"),String c=new String("b");指的是对象相等。 java如何接收手机post过来的无参数信息? 关于静态字段的疑问! repaint()嵌套中不调用paint()该如何解决 讨论一段关于java内存管理的代码 怎么设置按钮图标下的颜色?(类似word) 我不懂啊!! 我想用IntelliJ IDEA来开发WebApp,不知道怎么用? 要求我做个静态类,高手给点提示和注意事项吧,谢谢了! 有关JAVADOC的问题!请大侠多多指教!急!! JTble里因为getValueAt(int r, int c)严重影响画面速度是什么原因? 关于struts的问题 tomcat 下 properties文件放哪里啊
a.equals("b");
0- 中文
1- 拼音
2-符号
3 -数字
....
....
2.写一个方法,输入参数是String,输出是这个Stirng的类型(1中的一种)
3.写一个方法,输入是要比较的两个字符串,输出是布尔型
方法中分别用2中的方法得出两个字符串的类型值
如果两个相等,输出true, 否则输出false
然后用正则表达式
如果两个String内容相等if(str1.equals(str2))这时候就可以知道他们是否相同类型哦
这样不就行了吗,if(str1.equals(str2))如果是true的话,那他们类型肯定相同啊。不要想的那么复杂啊。
Pattern p=Pattern.compile(str);
Matcher m=p.matcher(strTemp);//strTemp 是要匹配的STRING
boolean rs=m.find();
用正则表达式,上面的表达式出错了,能否帮我看看
表达一个由字母,数字,-,\,/ 这些组成的表达式
String.compareTo(String)
这个比较内容是否相同的比如 "ADA" 和"HYTHY" 2个STRING 都是字母,应该是相同类型
String str = "^[-A-Za-z0-9/\\]+$";
Pattern p=Pattern.compile(str);
Matcher m=p.matcher(strTemp);//strTemp 是要匹配的STRING
boolean rs=m.find();
用正则表达式,上面的表达式出错了,能否帮我看看
表达一个由字母,数字,-,\,/ 这些组成的表达式
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"));
}
}
//比较2个字符串内容是否相同
String str1 = "等级分类所得结论";
String str2 = "等级分类所得结论";
System.out.println(str1.equals(str2));
String str2 = "等级分类所得结论";
System.out.println(str1.equals(str2));
String s=new String("b"),
String c=new String("b");
指的是对象相等。