String类中的常用方法
来源:互联网 发布:asp.net与vb.net 编辑:程序博客网 时间:2024/05/18 20:31
import java.io.IOException;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;import org.junit.Test;public class StringDemo { /* * 2.输出String s =“1234567”的长度,第3个字符,字节个数 */ @Test public void demo1(){ //String str = "ak中文"; //String str2 = new String("dsjsdj"); String s="1234567"; System.out.println(s.length());//7 System.out.println(s.charAt(2));//3 System.out.println(s.getBytes().length); } /* 3、输出s=“1234567中"的长度,第3个字符,字节个数 */ @Test public void demo2() throws UnsupportedEncodingException{ String s="1234567中"; System.out.println(s.length());//8个字符 System.out.println(s.charAt(2));//3 System.out.println( s.getBytes("gbk").length);//utf-8:一个汉字3字节, gbk:一个汉字两个字节 } /* * 4、判断某段字符是否含有汉字(假定只有中英文字符) */ @Test public void demo3() throws IOException{ String s="1234567er汉erer"; if(s.length()<s.getBytes("gbk").length){ System.out.println("有汉字"); }else{ System.out.println("无汉字"); } } /* 5、分别输出一个字符串中的中文字符、英文字母、数字 */ @Test public void demo4() throws IOException{ String s="1FK236W7er汉et34中国fg语法23Rr45er"; for(int i=0;i<s.length();i++ ){ char ch = s.charAt(i); int len = (""+ch).getBytes().length; if(len>1){ System.out.println("汉字:"+ch); }else if(ch>='0'&&ch<='9'){ System.out.println("数字:"+ch); }else{ System.out.println("字母:"+ch); } } } /* 5、分别输出一个字符串中的中文字符、英文字母、数字 */ @Test public void demo4_2() throws IOException{ String s="1FK236W7er汉et34中国fg语法23Rr45er"; for(char ch: s.toCharArray() ){ int len = (""+ch).getBytes().length; if(len>1){ System.out.println("汉字:"+ch); }else if(ch>='0'&&ch<='9'){ System.out.println("数字:"+ch); }else{ System.out.println("字母:"+ch); } } } @Test public void demo5() throws IOException{ //※注意,凡是String类中的字符串处理函数,都是原字符串不变,处理结果是返回出来的那个新串 String s="1FK236W7er汉et34中国fg语法23Rr45er"; s=s.toUpperCase(); System.out.println(s); s=s.replace('R', '8'); System.out.println(s); String str="Jack,20,Tom,22,张三,30"; String ss[] = str.split(",");//regex---正则表达式 for(String a:ss){ System.out.println(a); } } @Test //regex---正则表达式 String中用到正则表达式的几个方法:replaceAll(),split(),matches() public void demo6(){// String str="Jack,20,Tom,22,张三,30";// String ss[] = str.split(",");// String str="Jack,20 Tom 22,张三,30";// String ss[] = str.split(",| +");// String str="Jack,20 Tom 22|张三,30";// String ss[] = str.split(",| +|\\|");//正则表达式中的特殊字符要进行转义,如: \\| \\. String str="Jack,20 Tom 22|张三,30"; //如果被分割字符串中存在特殊的正则字符,我们不想转义,则可用替换来解决 //str=str.replaceAll("|", ",");//bug---第一个参数是正则表达式,该句有bug,会在任意字符间进行分割替换 //str=str.replaceAll("\\|", ",");//ok--正则表达式中的特殊字符,要转义 str=str.replace('|', ','); //String aa='welcome';//单引号不能用来定义字符串 String ss[] = str.split(",| +"); for(String s:ss){ System.out.println(s); } }}
import java.util.Scanner;import org.junit.Test;public class StringDemo2 { /* * 1、字符串比较大小 */ @Test public void demo(){ String str1="abc123"; String str2="abcdswehhw123"; int res = str1.compareTo(str2); if(res>0){ System.out.println(str1+"更大!"); }else if(res<0){ System.out.println(str1+"更小!"); }else{ System.out.println(str1+"等于"+str2); } } /* * 2、子串位置查找 3、查找姓名中带“飞”字的人,查找姓“张”的人。 4、查找扩展名为“.java”的文件名。 */ @Test public void demo2(){ String str1="abc12de2323io883"; int pos = str1.indexOf('c');//查找字符,找到则返回起始位置,若没找到则indexOf()会返回-1 System.out.println("pos:"+pos); pos = str1.indexOf("io88");//查找子串,找到则返回起始位置,若没找到则indexOf()会返回-1 System.out.println("pos:"+pos); } /* 3、查找姓名中带“飞”字的人,查找姓“张”的人。 4、查找扩展名为“.java”的文件名。 */ @Test public void demo3(){ String names[]={"张飞","张飞丰","张无忌","赵敏","赵子龙","飞龙张","小李飞刀"}; //姓名中带“飞”字的人 for(String nm:names){ if( nm.indexOf("飞") >= 0 ){ System.out.println(nm); } } System.out.println("==============="); //查找姓“张”的人。 for(String nm:names){ if( nm.indexOf("张") == 0 ){ System.out.println(nm); } } System.out.println("==============="); //查找姓“张”的人。 for(String nm:names){ if( nm.startsWith("张") ){ System.out.println(nm); } } } /* 4、查找扩展名为“.java”的文件名。 */ @Test public void demo4(){ String names[]={"aa.java","bc.java.c","1.java","赵敏.txt","赵子龙.java","飞龙张.c.java","小李.java.飞刀"}; for(String nm:names){ if(nm.endsWith(".java")){ System.out.println(nm); } } } /*判断用户名和密码是否正确,同时用户名忽略大小写*/ @Test public void demo5(){ String name="Jack"; String pwd="1234"; Scanner sc = new Scanner(System.in); while (true) { String nm = sc.nextLine(); String pwd2 = sc.nextLine(); if (nm.trim().equalsIgnoreCase(name) && pwd2.equals(pwd)) { System.out.println("登录成功...."); } else { System.out.println("登录失败...."); } } }}
阅读全文
1 0
- String类中的常用方法
- String类中的常用方法
- String中的常用方法
- java中的String类的常用方法
- Java中的String类常用方法
- String类常用方法
- String类常用方法
- String类常用方法
- String类常用方法
- String 类常用方法
- String类 常用方法
- String类常用方法
- String类常用方法
- String类常用方法
- String类常用方法
- String类常用方法
- String 类常用方法
- String类常用方法
- PHP序列化反序列化serialize和unserialize函数
- jsp Request获取url信息的各种方法比较
- 使用CSS美化页面,图片偏移技术
- 谈谈 webservice -- axis2框架的使用,JSON数据的传输问题
- 关于img标签间距问题
- String类中的常用方法
- Feign不支持PATCH请求的解决办法
- Git 常用命令大全
- spring-cloud学习BUG
- 博客之旅
- mysql初次登录不能登录问题
- Cassandra简介
- 欧洲柴油
- ucos-iii学习之实时内核