[color=brown][size=medium]前两天开发一个关于解析数据的一个小功能,发现需要大肆的用到String提供的一些方法,在此做下总结:[/size][/color]
[color=red][size=medium]下面用到的test变量是一个string变量
String test="1.天苍苍路茫茫,风吹草低见牛羊,ABCD"[/size][/color]
[color=olive][size=medium]1.public char charAt(int index)此方法返回字符串中index位置上的字符,其中index 值的 范围是0~length-1[/size][/color]
[color=olive][size=medium]
2.public int codePointAt(int index);此方法我以前没用过,应该不常用,返回字符串中index位置的字符的Unicode代码点。其范围值为0~length()-1[/size][/color]
[color=orange][size=medium]ps:codePointBefore(int index)返回索引位置前一个的Unicode编码.也是不常用的[/size][/color]
[size=medium][color=darkblue]3. public int compareTo(String anotherString)比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。返回整数,1,-1,0;返回1表示大于,返回-1表示小于,返回0表示相等[/color][/size]
[color=indigo][size=medium]ps:compareToIgnoreCase()这个方法是忽略大小写的比较,没做概述[/size][/color]
[color=gray][size=medium]4.public String concat(String str) 简单的理解就是拼接2个字符串[/size][/color]
[color=olive][size=medium]5. public boolean contains(CharSequence s)//简单的说就是是否包含此字符序列,其源代码是调用的indexOf()是否>-1[/size][/color]
[color=olive][size=medium]6.public boolean contentEquals(CharSequence cs)
方法比较字符串到指定的CharSequence。其结果是true当且仅当此String指定序列相同的char值序列. 感觉和equals异曲同工[/size][/color]
[color=darkblue][size=medium]7. public boolean endsWith(String suffix)以什么结尾吧[/size][/color]
8
[color=gray][size=medium]9.public int indexOf(int ch)//输入的参数就是codePointAt()这个方法得到的unicode的代码点,
public int indexOf(String str)//查询某字符串的位置 常用
public int indexOf(int ch, int fromIndex)//从fromIndex位置开始索引查询unicode代码点标示的字符在哪里 存在则显示位置,不存在显示-1[/size][/color]
[color=gray][size=medium]10.public boolean isEmpty() //返回是否为空,源码是返回的字符串长度是否==0[/size][/color]
[color=gray][size=medium]11.public int length()//太常见了,返回长度[/size][/color]
[color=darkred][size=medium]12.public native String intern()//返回的是str1在字符串池中的引用,目测用的不多,没深究[/size][/color]
[color=orange][size=medium]13. public boolean matches(String regex) //匹配正则表达式[/size][/color]
[color=green][size=medium]15.public String replace(CharSequence target, CharSequence replacement)//把字符串前一个参数替换成后一个[/size][/color]
[color=darkblue][size=medium]16.public String replaceAll(String regex, String replacement)//应该是按照正则表达式替换吧[/size][/color]
[color=darkblue][size=medium]ps:public String replaceFirst(String regex, String replacement)替换第一个[/size][/color]
[color=darkblue][size=medium]18. public String substring(int beginIndex) //获得beginIndex位置开始到字符串结尾的子字符串[/size][/color]
[color=brown][size=medium]19. public boolean startsWith(String prefix, int toffset)//在指定的索引开始的子字符串,该字符串开始用指定的前缀。[/size][/color]
[color=darkblue][size=medium]20.public String substring(int beginIndex, int endIndex) //从每个位置截取到另一个位置的子字符串,记住包前不包后 这样的一个区间"[begin,end)"[/size][/color]
[color=gray][size=medium]21. public String[] split(String regex) //以某个字符串为标准,分割成字符数组[/size][/color]
[color=brown][size=medium]22. public String[] split(String regex, int limit) //分割成多少个,比上一个方法多个限制条件[/size][/color]
[color=olive][size=medium]23. public CharSequence subSequence(int beginIndex, int endIndex)//内部就是调用的subString()[/size][/color]
[color=darkblue][size=small]24. public char[] toCharArray() //转换成char数组[/size][/color]
[color=olive][size=medium]25.public String toLowerCase()//变小写[/size][/color]
[color=brown][size=medium]26.public String toLowerCase(Locale locale)//应该是根据地区转换小写吧,没深究[/size][/color]
[color=red][size=medium]ps:toUpperCase转成大写与小写用法一样[/size][/color]
[color=brown][size=medium]27. public String trim()//去掉两端的空白[/size][/color]
[color=olive][size=medium]28. public static String valueOf(一些基本类型)//把其他类型转换成String[/size][/color]
[color=red][b][size=medium]以上String的方法就差不多这么多了,可能漏掉了也不一定,都是些简单的小例子和简单的说明,要深究的话就得自己去多研究和看源码了,反正我只是简单的应用[/size][/b][/color]
[color=red][size=medium]下面用到的test变量是一个string变量
String test="1.天苍苍路茫茫,风吹草低见牛羊,ABCD"[/size][/color]
[color=olive][size=medium]1.public char charAt(int index)此方法返回字符串中index位置上的字符,其中index 值的 范围是0~length-1[/size][/color]
char a = test.charAt(1);//得到的结果为"."[color=olive][size=medium]
2.public int codePointAt(int index);此方法我以前没用过,应该不常用,返回字符串中index位置的字符的Unicode代码点。其范围值为0~length()-1[/size][/color]
int result = test.codePointAt(1)//的得到结果是46[color=orange][size=medium]ps:codePointBefore(int index)返回索引位置前一个的Unicode编码.也是不常用的[/size][/color]
[size=medium][color=darkblue]3. public int compareTo(String anotherString)比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。返回整数,1,-1,0;返回1表示大于,返回-1表示小于,返回0表示相等[/color][/size]
test.compareTo("1.天苍苍路茫茫,")//返回结果为7,恰好是两个字符串的差集,因为是按顺序比较的,所以前面要相等,不然会返回负数,没做深入的研究,用的不多[color=indigo][size=medium]ps:compareToIgnoreCase()这个方法是忽略大小写的比较,没做概述[/size][/color]
[color=gray][size=medium]4.public String concat(String str) 简单的理解就是拼接2个字符串[/size][/color]
test.concat("1111")//结果为1.天苍苍路茫茫,风吹草低见牛羊,ABCD1111[color=olive][size=medium]5. public boolean contains(CharSequence s)//简单的说就是是否包含此字符序列,其源代码是调用的indexOf()是否>-1[/size][/color]
test.contains("茫茫")//结果为true[color=olive][size=medium]6.public boolean contentEquals(CharSequence cs)
方法比较字符串到指定的CharSequence。其结果是true当且仅当此String指定序列相同的char值序列. 感觉和equals异曲同工[/size][/color]
test.contentEquals("1.天苍苍路茫茫,风吹草低见牛羊,ABCD")//结果为true[color=darkblue][size=medium]7. public boolean endsWith(String suffix)以什么结尾吧[/size][/color]
test.endsWith("ABCD")//结果为true8
.public boolean equals(Object anObject)
public boolean equalsIgnoreCase(String anotherString)//这两个就不说了,用的太多了,比较相等和忽略大小写的比较[color=gray][size=medium]9.public int indexOf(int ch)//输入的参数就是codePointAt()这个方法得到的unicode的代码点,
public int indexOf(String str)//查询某字符串的位置 常用
public int indexOf(int ch, int fromIndex)//从fromIndex位置开始索引查询unicode代码点标示的字符在哪里 存在则显示位置,不存在显示-1[/size][/color]
test.indexOf(46));//46代表小数点,所以结果为1
test.indexOf("天苍苍");//结果
test.indexOf(46, 1);//结果为1[color=gray][size=medium]10.public boolean isEmpty() //返回是否为空,源码是返回的字符串长度是否==0[/size][/color]
[color=gray][size=medium]11.public int length()//太常见了,返回长度[/size][/color]
[color=darkred][size=medium]12.public native String intern()//返回的是str1在字符串池中的引用,目测用的不多,没深究[/size][/color]
[color=orange][size=medium]13. public boolean matches(String regex) //匹配正则表达式[/size][/color]
test.substring(test.indexOf("ABCD"),test.indexOf("ABCD")+4).matches("[A-Z]{4}")//返回结果为true13.public int offsetByCodePoints(int index, int codePointOffset)返回此String 中从给定的 index 处偏移 codePointOffset 个代码点的索引14.regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len);
regionMatches(int toffset,String other,int ooffset,int len); //两个方法用来比较两个字符串中指定区域的子串。入口参数中,用toffset和ooffset分别指出当前字符串中的子串起始位置和要与之比较的字符串中的子串起始地址;len 指出比较长度。前一种方法可区分大写字母和小写字母,如果在 boolean ignoreCase处写 true,表示将不区分大小写,写false则表示将区分大小写。而后一个方法认为大小写字母有区别,没去写例子[color=green][size=medium]15.public String replace(CharSequence target, CharSequence replacement)//把字符串前一个参数替换成后一个[/size][/color]
test.replace("苍苍", "混混")//结果 1.天混混路茫茫,风吹草低见牛羊,ABCD[color=darkblue][size=medium]16.public String replaceAll(String regex, String replacement)//应该是按照正则表达式替换吧[/size][/color]
test.replaceAll("[A-Z]", "试试")//结果1.天苍苍路茫茫,风吹草低见牛羊,试试试试试试试试[color=darkblue][size=medium]ps:public String replaceFirst(String regex, String replacement)替换第一个[/size][/color]
17. public boolean startsWith(String prefix)//以什么开头
test.startsWith("1.")//结果true[color=darkblue][size=medium]18. public String substring(int beginIndex) //获得beginIndex位置开始到字符串结尾的子字符串[/size][/color]
test.substring(2)//结果天苍苍路茫茫,风吹草低见牛羊,ABCD[color=brown][size=medium]19. public boolean startsWith(String prefix, int toffset)//在指定的索引开始的子字符串,该字符串开始用指定的前缀。[/size][/color]
test.startsWith("天苍苍", 2)//结果为true,从第3个位置开始是否以天苍苍开头[color=darkblue][size=medium]20.public String substring(int beginIndex, int endIndex) //从每个位置截取到另一个位置的子字符串,记住包前不包后 这样的一个区间"[begin,end)"[/size][/color]
[color=gray][size=medium]21. public String[] split(String regex) //以某个字符串为标准,分割成字符数组[/size][/color]
Arrays.toString(test.split(","))//结果 [1.天苍苍路茫茫, 风吹草低见牛羊, ABCD][color=brown][size=medium]22. public String[] split(String regex, int limit) //分割成多少个,比上一个方法多个限制条件[/size][/color]
Arrays.toString(test.split(",", 2))//结果[1.天苍苍路茫茫, 风吹草低见牛羊,ABCD][color=olive][size=medium]23. public CharSequence subSequence(int beginIndex, int endIndex)//内部就是调用的subString()[/size][/color]
[color=darkblue][size=small]24. public char[] toCharArray() //转换成char数组[/size][/color]
[color=olive][size=medium]25.public String toLowerCase()//变小写[/size][/color]
[color=brown][size=medium]26.public String toLowerCase(Locale locale)//应该是根据地区转换小写吧,没深究[/size][/color]
test.toLowerCase(Locale.CHINESE)//结果1.天苍苍路茫茫,风吹草低见牛羊,abcd[color=red][size=medium]ps:toUpperCase转成大写与小写用法一样[/size][/color]
[color=brown][size=medium]27. public String trim()//去掉两端的空白[/size][/color]
[color=olive][size=medium]28. public static String valueOf(一些基本类型)//把其他类型转换成String[/size][/color]
[color=red][b][size=medium]以上String的方法就差不多这么多了,可能漏掉了也不一定,都是些简单的小例子和简单的说明,要深究的话就得自己去多研究和看源码了,反正我只是简单的应用[/size][/b][/color]
本文详细介绍了 Java String 类的常用方法,包括字符获取、比较、拼接、查找、匹配、子串提取、正则表达式匹配、大小写转换、去除空格等,并提供了示例代码和使用说明。
5854

被折叠的 条评论
为什么被折叠?



