String类常用方法:字符串比较、转换、查找、替换、拆分、截取、格式化

您所在的位置:网站首页 字符串的常用方法及功能 String类常用方法:字符串比较、转换、查找、替换、拆分、截取、格式化

String类常用方法:字符串比较、转换、查找、替换、拆分、截取、格式化

#String类常用方法:字符串比较、转换、查找、替换、拆分、截取、格式化| 来源: 网络整理| 查看: 265

1、字符串与字符数组的转换

          toCharArray()

String str = "helloword"; char [] result= str.toCharArray(); for (int x=0;x < result.length;x++){ //编码减少32,将小写转换成大写字符 result[x] -= 32; } //将处理后的字符数组交给String变为字符串 String newStr = new String(result); System.out.println(newStr); //若要取部分字符串,取从0开始到5结束的字符 System.out.println(new String(result,0,5)); 2、检验字符串是否由数字组成 package Test; public class Demo2 { public static void main(String[] args) { String str = "helloworld"; System.out.println(isNumber("123") ? "由数字组成" : "不是由数字组成"); } //定义一个方法:主要用来判断字符串是否由数字组成 public static boolean isNumber(String str){ //将字符串变成字符数组 char [] result = str.toCharArray(); for (int x = 0;x < str.length();x++){ //将result数组里的字符与字符0~9之间进行比较 if (result[x] < '0' || result[x] > '9'){ return false; } } return true; } } 3、字节与字符串之间的转换 package Test; public class Demo2 { public static void main(String[] args) { //字节与字符串的转换 String str = "helloheh"; //将字符串变成字节数组 byte [] data = str.getBytes(); for (int x = 0;x < data.length;x++){ data[x] -= 32; } System.out.println(new String(data)); System.out.println(new String(data,0,5)); } } 3、字符串比较

          等值比较:equals

          大小比较:compareTo

package Test; public class Demo2 { public static void main(String[] args) { //字符串比较 //1、public boolean euqals(String anObject):区分大小写的相等比较 //进行字符串区分大小写等值比较 String strA = "ABC"; String strB = "abc"; System.out.println(strA.equals(strB));//结果为false //2、public boolean equalsIgnoreCase(String anotherString):不区分大小的比较 //进行字符串不区分大小写等值比较 String strC = "ABC"; String strD = "abc"; System.out.println(strA.equalsIgnoreCase(strD));//结果为true //3、public int compareTo(String anotherString):进行字符串大小比较,该方法返回一个int型数据,该数据有三种取值:大于(>0)、小于( strF System.out.println(strF.compareTo(strE));//结果为-32 说明:strF > strE System.out.println("HELLO".compareTo("HELLO"));//结果为0 说明:"HELLO" = "HELLO" //4、public int compareToIgnoreCase(String str):不区分大小写进行字符串比较 //进行字符串不区分大小比较 String strG = "MMh"; String strH = "mmH"; System.out.println(strE.compareToIgnoreCase(strH));//结果为0 说明:strH = strG } } 4、字符串查找 package Test; public class Demo2 { public static void main(String[] args) { //字符串查找 //1、public boolean contains(String s):判断子字符串是否存在(存在返回true,不存在返回false) //判断子字符串是否存在 String str = "hello.csdn.dd"; System.out.println(str.contains("dd"));//结果为true System.out.println(str.contains("world"));//结果为false //2、public int indexOf(String str):从头查找指定字符串的位置,找不到返回-1,找到返回首字符的索引 //判断字符串是否存在 String str2 = "hello.csdn.dd"; System.out.println(str2.indexOf("dd"));//结果为11 System.out.println(str2.indexOf("world"));//结果为-1 //3、public int indexOf(String str,int fromIndex):从指定位置由前向后查找指定字符串的位置 //4、public int lastIndexOf(String str):从后向前查找指定字符串的位置 String str3 = "hello.csdn.dd"; System.out.println(str3.lastIndexOf("."));//结果为10 System.out.println(str3.lastIndexOf("world"));//结果为-1 //5、public int lastIndexOf(String str,int fromIndex):从指定位置由后向前查找指定字符串的位置 //6、public boolean startsWith(String prefix):判断是否以指定的字符串开头 //7、public boolean startsWith(String prefix,int toffset):从指定位置判断是否以指定的字符串开头 //8、public boolean endsWith(String suffix):判断是否以指定的字符串结尾 //判定是否已指定字符串开头或结尾 String str4 = "**@@ello.csdn.dd##"; System.out.println(str4.startsWith("**"));//结果为true System.out.println(str4.startsWith("@@",2));//结果为true System.out.println(str4.endsWith("##"));//结果为true } } 5、字符串替换

          replaceAll():全部替换

          replaceFirst():替换首个

          通过只当内容进行字符串替换显示

package Test; public class Demo2 { public static void main(String[] args) { //字符串替换:通过只当内容进行字符串替换显示 //1、public String replaceAll(String regex,String replacement):全部替换 //2、public String replaceFirst(String regex,String replacement):替换首个 String str = "hello.csdn.dd"; System.out.println(str.replaceAll("l","x"));//结果:hexxo.csdn.dd System.out.println(str.replaceFirst("l","x"));//结果:hexlo.csdn.dd } } 6、字符串拆分

          遇到拆分不了的字符,试试使用转义字符进行转义,可以根据字符索引进行截取(大多涉及逻辑计算)

package Test; public class Demo2 { public static void main(String[] args) { //字符串拆分:根据指定的字符串或者是表达式实现字符串的拆分,拆分完成的数据会以字符串数组的形式返回 //1、public String[] split(String regex):按照指定的字符串全部拆分 //字符串拆分处理 String str = "hello world hello csdn"; //按空格全部拆分 String result [] = str.split(" "); for (int x = 0;x < result.length;x++){ System.out.println(result[x]); } /*结果: hello world hello csdn*/ //2、public String[] split(String regex,int limit):按照指定的字符串拆分为指定的个数 //字符串拆分处理 String str2 = "hello world hello csdn"; //按空格只拆分两个,后面不进行拆分 String result2 [] = str2.split(" ",2); for (int x = 0;x < result2.length;x++){ System.out.println(result2[x]); } /* * hello * world hello csdn * */ //若是遇到拆不了的情况,可以考虑转义 String str3 = "hello.world.ello.csdn"; //按空格只拆分两个,后面不进行拆分 String result3 [] = str3.split("\\."); for (int x = 0;x < result3.length;x++){ System.out.println(result3[x]); } /*结果: hello world ello csdn*/ } } 7、字符串截取

          从一个完整的字符串之中截取出子字符串

package Test; public class Demo2 { public static void main(String[] args) { //字符串截取:从一个完整的字符串之中截取出子字符串, //1、public String substring(int beginIndex):从指定索引截取到结束 //2、public String substring(int beginIndex,int endIndex):截取指定索引范围中的子字符串 //观察子字符串的操作 String str = "www.csdn.dd"; System.out.println(str.substring(4));//结果:csdn.dd System.out.println(str.substring(4,6));//结果:cs //根据索引找到位置 String str1 = "昵称-tel-里斯.div"; int beginIndex = str1.indexOf("-",str1.indexOf("tel")) + 1; int endIndex = str1.lastIndexOf(".") ; System.out.println(str1.substring(beginIndex,endIndex));//结果:里斯 } } 8、字符串格式化

          类似于c语言中的格式化输出语句,可以利用占位符实现数据的输出,对于占位符而言,常用的:字符串(%s)、字符(%c)、整数(%d)、小数(%f)

package Test; public class Demo2 { public static void main(String[] args) { //格式化字符串:类似于c语言中的格式化输出语句,可以利用占位符实现数据的输出,对于占位符而言,常用的:字符串(%s)、字符(%c)、整数(%d)、小数(%f) //1、public static String format(String format,各种类型 ...args):根据指定结构进行文本格式化显示 //格式化处理 String name = "张三"; int age = 18; double score = 98.765261; String str = String.format("姓名:%s、年龄:%d、成绩:%5.3f。",name,age,score); System.out.println(str); //结果:姓名:张三、年龄:18、成绩:98.765。 } }

9、其他操作方法

package Test; public class Demo2 { public static void main(String[] args) { //其他操作方法 //1、public String concat(String str):描述字符串的连接过程 //字符串连接 String str = "www.".concat("csdn"); System.out.println(str);//结果:www.csdn //2、public String intern():字符串入池 //3、public boolean isEmpty():判断是否为空字符串(不是null) //null和""的区别:null表示没有实例化对象,""表示有实例化对象,但是内容为空 String str1 = "csdn"; System.out.println(str1.isEmpty());//结果:false System.out.println("www".isEmpty());//结果:false //4、public int length():计算字符串长度 //5、public String trim():去除左右的空白符号 String str2 = " hello csdn "; System.out.println(str2.length()); System.out.println(str2); String newStr2 = str2.trim(); System.out.println(newStr2.length()); System.out.println(newStr2); /*结果: *20 hello csdn 10 hello csdn * */ //6、public String toUpperCase():转大写 //7、public String toLowerCase():转小写 //String类里面提供有大小写转换,但是这种转换的特征是可以避免非字母的转换 //大小写转换 String str3 = "Hello World!!!"; System.out.println(str3.toUpperCase());//结果:HELLO WORLD!!! System.out.println(str3.toLowerCase());//结果:hello world!!! //自定义编写首字母大写的方法,因为String类没有提供 System.out.println(StringUtil.initcap("hello world"));//结果:Hello world System.out.println(StringUtil.initcap("h"));//结果:H } } class StringUtil{ public static String initcap(String str){ //如果字符串等于空或者无内容,则原样返回字符串 if (str == null || "".equals(str)){ return str; } //如果str的长度为1,则调用大写的方法 if (str.length() == 1){ return str.toUpperCase(); } //如果字符的长度即不为1,也不为空,则利用字符串截取第一位字符,进行大写转换,然后加上1到结尾的字符 return str.substring(0,1).toUpperCase() + str.substring(1); } }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3