Java字符串操作

简介: replace(),IndexOf(),substring() ,lastIndexOf() ,split() ,pollFirst() ,pollFirst()

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()

删除数组的最后一个元素;这个和上一个删除顺序相反。

目录
相关文章
|
18天前
|
Java
Java 字符串分割split空字符串丢失解决方案
Java 字符串分割split空字符串丢失解决方案
|
1月前
|
算法 Java 程序员
Java检查字符串是否为回文
Java检查字符串是否为回文
|
1月前
|
存储 Java 程序员
记一次synchronized锁字符串引发的坑兼再谈Java字符串
记一次synchronized锁字符串引发的坑兼再谈Java字符串
21 2
|
1月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
28 4
|
20天前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
20 2
|
21天前
|
存储 安全 Java
Java中实现高效的字符串拼接技术
【4月更文挑战第6天】在Java编程中,字符串拼接是一个常见的操作。然而,由于字符串的不可变性,频繁的拼接操作可能会导致性能问题。本文将探讨Java中实现高效字符串拼接的技术,包括使用StringBuilder类、StringBuffer类以及Java 8中的StringJoiner类。通过对比这些技术的优缺点,我们将为您提供在不同场景下选择合适的字符串拼接方法的建议。
|
29天前
|
Java
java 8 数组转字符串并以逗号分隔
java 8 数组转字符串并以逗号分隔
11 0
|
1月前
|
SQL Java
使用java中的String类操作复杂的字符串
使用java中的String类操作复杂的字符串
9 0
|
1月前
|
Java
使用java将字符串写入到指定的文件中
使用java将字符串写入到指定的文件中
11 0