String类常用方法

发表于: java/j2ee | 作者: | 日期: 2008/3/29 12:03

trim()
trim()会去掉前导空格和尾部空格。

subString(int beginIndex, int endIndex)
返回子串。
子串从指定的 beginIndex 处开始,一直到索引 endIndex – 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:
“thoughtlab”.substring(0 ,7) returns “thought”
是截取从0索引到7-1 = 6 处的字符串。

getBytes()
使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
当此字符串不能在默认的字符集中解码时,该方法无指定的行为。

getBytes(String charsetName)
使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。
当此字符串不能在给定的字符集中解码时,该方法无指定的行为。

String replaceFirst(String regex, String replacement)
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的第一个子字符串。
参数regex是一个 regular-expression的匹配模式而不是一个简单的String,对一些特殊的字符需要进行转义处理才能正确使用(下同)。

String str1 = “aaa.bbb.ccc.ddd”;
String str2 = str1.replaceFirst(“\\.”,”+”);
System.out.println(str2);

String replaceAll(String regex, String replacement)
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。

String str1 = “aaa.bbb.ccc.ddd”;
String str2 = str1.replaceAll(“\\.”,”+”);
System.out.println(str2);

String[] split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。
此方法返回的数组包含由regex分割的子字符串,数组中的子字符串按它们在此字符串中的顺序排列。如果regex表达式不匹配字符串的任何部分,则结果数组只具有一个元素,即此字符串本身。

String str = “aaa.bbb.ccc.ddd”;
String[] strs = str.split(“\\.”,0);
for (int i = 0; i < strs.length; i++) { System.out.println(strs[i]); }

参数limit 参数控制模式应用的次数,因此影响结果数组的长度。
如果该限制 n 大于 0,则模式将被最多应用 n – 1 次,数组的长度将不会大于 n,而且数组的最后项将包含超出最后匹配的定界符的所有输入。
如果 n 为非正,则模式将被应用尽可能多的次数,而且数组可以是任意长度。
如果 n 为零,则模式将被应用尽可能多的次数,数组可有任何长度,并且结尾空字符串将被丢弃。
例如,字符串 “boo:and:foo” 使用这些参数可生成下列结果:
Regex Limit 结果
: 2 { “boo”, “and:foo” }
: 5 { “boo”, “and”, “foo” }
: -2 { “boo”, “and”, “foo” }
o 5 { “b”, “”, “:and:f”, “”, “” }
o -2 { “b”, “”, “:and:f”, “”, “” }
o 0 { “b”, “”, “:and:f” }

split(String regex)
根据给定的正则表达式的匹配来拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,结果数组中不包括结尾空字符串。

indexOf()
返回第一次出现的指定子字符串在此字符串中的索引。

使用替换和分割方法时,如果想在串中使用”\”字符,则也需要转义.首先要表达”aaaa\bbbb”这个串就应该用”aaaa\\bbbb”,如果要分隔就应该这样才能得到正确结果:
String[] aa = “aaa\\bbb\\bccc”.split(“\\\\”);

: https://blog.darkmi.com/2008/03/29/111.html

本文相关评论 - 1条评论都没有呢
Post a comment now » 本文目前不可评论

No comments yet.

Sorry, the comment form is closed at this time.