replace(pattern,replacement)
使用replacement替换pattern,如果pattern是字符串只替换第一个匹配项,如果pattern是正则表达式则替换每次匹配都要调用的回调函数。
实例:
String a = "+1(111)222-3333";
String b = a.replace("(", "").replace(")", "").replace("-", "");
System.out.println(b);
b = +11112223333。
IndexOf(value)
value:要查找的 Unicode 字符。
若能找到字符value则返回其在索引位置(这里为首次出现),如果没有返回-1;
实例:
String a = "+1(111)222-3333";
String s = "3";
String b = String.valueOf(a.indexOf(s));
System.out.println(s+" 第一次出现的位置为 :"+b);
3 第一次出现的位置为 :11。
substring(indexStart, indexEnd)
indexStart :需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。
indexEnd:一个 0 到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。(可无)。
返回值:包含给定字符串的指定部分的新字符串。
实例:
String a = "asdfghjkl";
String b = a.substring(2,6);
System.out.println(b);
输出 : dfgh。
lastIndexOf(searchElement, fromIndex)
searchElement:被查找的元素。
fromIndex (可无):从此位置开始逆向查找。默认为查找长度(arr.length - 1)即整个数组都被查找。如果该值为负值,数组仍然会被从后向前查找。如果该值为负时,其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。
返回值:数组中该元素最后一次出现的索引,如未找到返回-1。
备注 : 和Indexof()不同的是,这个方法可以规定范围,查找是范围内最后一次出现的索引,IndexOf则是首次出现。
实例:
String a = "asdfghjkl";
String b = String.valueOf(a.lastIndexOf("f",6));
System.out.println(b);
输出 : 3。
String a = "asdfghjkl";
int b = a.lastIndexOf("F");
System.out.println(b);
目标字符串无“F”,输出 -1;
备注:lastIndexOf 使用严格相等(strict equality,即 ===)比较 searchElement 和数组中的元素。
split(separator,limit)
把一个字符串分割成字符串数组;
separator : 字符串或正则表达式,从该参数指定的地方分割;(可无);
limit: 该参数可指定返回的数组的最大长度。(可无,若无则整个字符串被分割);
返回值:一个字符串数组(不包括被分割前的字符串);
备注 : substring()分割字符串返回值为字符串,split()分割返回字符串数组。另spilt()分割字符串能力不如前者。
实例:
无参数:
var str="a k j h ?";
var n=str.split();
输出 :a k j h ?
var str="a k j h ?";
var n=str.split("");
输出 :a,k,j,h,?
单参数:
var str="a k j h ?";
var n=str.split(" ",3);
输出 :a k j h
pollFirst()
删除数组的第一个元素;
实例:
TreeSet<String> set = new TreeSet<>();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
while (set.size()>0){
System.out.print(" ");
set.pollFirst();
for(String a : set){
System.out.print(a);
}
}
输出 :bcd cd d
pollFirst()
删除数组的最后一个元素;这个和上一个删除顺序相反。