public static void main(String[] args) {
//输出String s =“1234567”的长度,第3个字符,字节个数
String s ="1234567";
System.out.println(s.length()); //7
System.out.println(s.charAt(2)); //3
System.out.println(s.getBytes().length); //7
// 输出s=“1234567中"的长度,第3个字符,字节个数
s = "1234567中";
System.out.println(s.length()); //8
System.out.println(s.charAt(2)); //3
System.out.println(s.getBytes().length);//GBK下是9, UTF-8下是10
// 判断某段字符是否含有汉字(假定只有中英文字符)
System.out.println( hasChinese(s) );
// 分别输出一个字符串中的中文字符、英文字母、数字
s="78jk3287jkds有没有787我";
char cs[] = s.toCharArray();
for(char c: cs){
if( (""+c).getBytes().length > 1 ){
System.out.println("中文字符:"+c);
}else if(c>='a'&&c<='z' || c>='A'&& c<='Z'){
System.out.println("英文字符:"+c);
}else if(c>='0'&&c<='9'){
System.out.println("数字:"+c);
}
}
}
// 1、字符串比较大小
String s1 = "H234567中国";
String s2 = "Hello Java";
System.out.println(s1.compareTo(s2));// 返回两个字符串之差(第一个不同字符的差)
// 2、子串位置查找
String s3 = "22h2345";
String s4 = "h2";
System.out.println(s3.indexOf(s4)); // 结果:2
// 3、查找姓名中带“飞”字的人,查找姓“张”的人。
String names[] = { "张三", "张无忌", "赵敏", "张飞", "岳飞", "飞龙张" };
for (String name : names) {
if (name.indexOf("飞") >= 0) {
System.out.println(name);
}
}
for (String name : names) {
if (name.indexOf("张") == 0) {
System.out.println(name);
}
}
System.out.println("-------------");
// 4、查找扩展名为“.java”的文件名。
String[] filenames = { "aa.java", "cc.doc", "34.bat", "33.java.c",
"java.exe", "c:\\a\\a.java" };
String ss=".java";
for(String name:filenames){
if(name.endsWith(ss)){
System.out.println(name);
}
}
//substring
String c ="abcd".substring(2,3);// 相当于数学中的:[2,3)
System.out.println(c);
//split()
String user="张三,1234,13673738888";
String strs[] = user.split(",");
Person p = new Person(strs[0],Integer.parseInt(strs[1]),strs[2]);
System.out.println(p);
System.out.println("================");
user="张三,1234 13673738888";
strs = user.split(",| ");//用“逗号”或“空格”进行分割
p = new Person(strs[0],Integer.parseInt(strs[1]),strs[2]);
System.out.println(p);
user="aa.bb.cc,dd,ee fff";
strs = user.split("\\.|,| ");//“.”号是特殊字符,因此要用转义字符,而且要加两个
//strs = user.split("[.]|,| ");//“[]”也是转义字符
System.out.println(strs[0]+" "+strs[1]+" "+strs[2]+" "+strs[3]+" "+strs[4]+" "+strs[5]);
String us ="张三|1234|13673738888";
//strs = us.split("“|”不能用这种转义的方式分割,这种情况下可先采用字符替换
us=us.replace("|", ",");//replace()返回的是一个新的字符串
strs = us.split(",");
System.out.println(strs[0]+" "+strs[1]+" "+strs[2]);