请教下如果判断2个String的内容是否是相同类型的,比如,都是中文,都是拼音,或都是符号,或都是数字等.
解决方案 »
- 字符串后加一方块出错,各位来看看。。。
- 这个程序里的一个方法看不懂,求解
- 生成.jar文件后,为什么运行时出现“Fatal exception occurred. Program will exit.”?
- [求助]请高手们帮忙
- j2re j2sdk JDSWK 有什么区别?
- 怎样捕获机器传输的数据包?包括发送的&本地接受的
- 强烈要求高手看过来!用java写一个小记事本需要用到堆栈哪些东西吗?
- 一个panel上有2个表格,都可编辑,用户编辑第1个表格后,点第2个表格,怎么能让第1个表格停止编辑?
- pokemon catch
- 增强版 选择排序
- 关于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");
指的是对象相等。