Java 字符串处理
Java基础之字符串处理
package Class.String; import java.util.Scanner; /** * 字符串测试 * @author Administrator * */ public class StringTest { public static void main(String[] args) { Scanner input = new Scanner(System.in); //定义两个默认字符串 String entry = "aBcDa"; String entry1 = " 1,2,3,4,1"; System.out.println("* * * * * * * * * * * * * * * * * * *"); System.out.println("第一个字符串默认为:"+entry+"\n第二个字符串默认为:"+entry1); System.out.println("* * * * * * * * * * * * * * * * * * *"); int seat = entry.indexOf("c"); //找到c的位置,没有seat值就为负一 System.out.println("\n"+entry+"从0开始数 “c”在第 "+seat+" 位\n"); System.out.println(entry+"共有 "+entry.length()+" 个字符"); //length()获得字符串长度 String x = entry.toLowerCase(); //toLowerCase()转换为小写 String d = entry.toUpperCase(); //toUpperCase()转换为大写 System.out.println("\n小写:"+x+"\n大写:"+d); String a1 = "abcda"; //输入的d 与a1 忽略大小写比较 boolean a = entry.equalsIgnoreCase(a1); //如果忽略大小写相等a则为true equalsIgnoreCase()忽略大小写 if (a) System.out.println("\n密码为"+entry+" 忽略大小写"); String add = entry+entry1; //方法1 String add1 = entry1.concat(entry); //方法2 System.out.println("\n两字符串连接:方法1 "+add+" 方法2 "+add1); int appear = entry1.indexOf("1"); //找 12341 中第一个1的位置 int appear1 = entry1.lastIndexOf("1"); //找 12341 中最后一个1的位置 int appear2 = entry.indexOf(97); //b的位置,a的ASCII码为97
int appear3 = entry.lastIndexOf(97); //b的位置,a的ASCII码为97 System.out.println("\n从0开始数 "+entry1+" 中第一个1的位置:"+appear+"\t中最后一个1的位置"+appear1); System.out.println("\n从0开始数 "+entry+" 中第一个 a 的位置:"+appear2+"\t中最后一个 a 的位置"+appear3); String extract = entry.substring(2); //abcda从第二位开始截取 String extract1 = entry.substring(1, 4); //abcda从第二位开始截取 System.out.println("\n"+entry+"从0开始数 第二位(包含)开始截取后面全部内容,截取获得:"+extract); System.out.println("\n"+entry+"指定范围截取,从0开始数 第一位开始(包含)到第四位(不包含)之间内容:"+extract1); String out = entry1.trim(); //去掉空格 System.out.println("\n去空格操作"+entry1+" 去掉空格后输出 :"+out); String split[] = out.split(","); //以 “,” 为拆分标志,将拆分内容存到split数组里 System.out.println("\n以“,”为拆分标志,拆分后"); int j = 0; for (int i=0; i<split.length; i++) { System.out.println("\n第"+(i+1)+"个:"+split[i]); j++; } System.out.println("\n共拆为"+j+"个字符用字符串数组存"); //StringBuffer类测试 StringBuffer sb = new StringBuffer("\n你好"); //创建,初始值为 你好 int num=112; StringBuffer sb1 = sb.append(" 我很好 "); //第一次添加 System.out.println(sb1); StringBuffer sb2 = sb1.append("呀"); //第二次添加,单个字符可为 String 型 也可为char型 System.out.println(sb2); StringBuffer sb3 = sb2.append(num); //第三次添加 System.out.println(sb3); String b = "helloword.java"; //创建字符串 System.out.println("\n* * * * * * * * * * * * * * * * *"); System.out.println("一个默认字符串:"+b); System.out.println("* * * * * * * * * * * * * * * * *"); System.out.println("\n替换前:"+b); b = b.replace("ll", "EE"); //替换方法,将 "ll"替换为 "EE" System.out.println("替换后:"+b); System.out.println("\n"+b+" 是否以 .jav 结尾:"+b.endsWith(".jav")); //判断是否以为".jav"结尾,很明显 是以".java"结尾的 所以结果为 false System.out.println(b+" 是否以 h 开头:"+b.startsWith("h")); //判断是否以"h"为开头的,这里"helloword.java"是以"h"开头的所以结果为 true StringBuffer g = new StringBuffer("abcde"); //新创建一个StringBuffer型字符串值为"aaaaa" System.out.println("\n* * * * * * * * * * * * *"); System.out.println("一个默认字符串:"+g); System.out.println("* * * * * * * * * * * * *"); g.setCharAt(2, 'B'); //指定替换 System.out.println("\n从0开始数将第2个字符替换为 B:"+g); g.deleteCharAt(2); //指定删除 System.out.println("\n从0开始数将第2个字符删除:"+g); } }
三人行必有我师