Java字符串操作

2021-11-22 16:29:09 浏览数 (1)

java字符串操作
  • 字符串替换
  • 字符串切片
  • 字符串查找
  • 字符串分割
  • 字符串反转
  • 字符串比较首字母的ASCII差值
  • 查找字符串最后一次出现的位置
  • 字符串小写转大写
  • 判断两个字符串区域是否相等
  • 字符串格式化

字符串替换

字符串函数 replace() 函数来替换单个字符。replaceFirst() 替换第一个的regex匹配项,replaceAll()替换所有的regex匹配项, String的replaceAll跟replaceFirst使用了正则表达式!

代码语言:javascript复制
public class Test{
    public static void main(String args[]){
        String str="Hello World";
        System.out.println( str.replace( 'l','q' ) );
        System.out.println( str.replaceFirst("Hello", "Hi") );
        System.out.println( str.replaceAll("ll", "o") );
        System.out.println( str.replaceAll(".", "o") );
    }
}
}
/* 输出结果:
Heqqo Worqd
Hi World
Heoo World  
ooooooooooo
*/ 

字符串切片

字符串函数 substring() 函数来提取字符串中介于两个指定下标之间的字符

代码语言:javascript复制
public class Test{
    public static void main(String args[]) {
        String str = "this is Java String";
        System.out.println(removeStr(str, 4));
    }
    public static String removeStr(String s, int pos) {
        return s.substring(0, pos)   s.substring(pos   4);
    }
}
/* 输出结果:thisJava String   */ 

字符串查找

String 类的 indexOf() 方法在字符串中查找子字符串出现的位置,如果存在返回下标

代码语言:javascript复制
public class Test{
    public static void main(String[] args) {
        String str = "Best wish for lx";
        int intIndex = str.indexOf("lx");
        if(intIndex == - 1){
            System.out.println("没有找到字符串");
        }else{
            System.out.println("字符串位置 "   intIndex);
        }
    }
}
/* 输出结果:字符串位置 14 */ 

字符串分割

使用 split(string) 方法通过指定分隔符将字符串分割为数组

代码语言:javascript复制
    public static void main(String args[]){

        String str = "www-lxacy-com";
        String[] temp = str.split("-");
        for (String x:temp){
            System.out.println(x);
        }

        String str1 = "www.lxacy.com";
        String[] temp1 = str1.split("\."); // 分割字符串
        for(String x :  temp1){
            System.out.println(x);
        }
    }

也可以使用 StringTokennizer 设置不同分割符来分隔字符串 默认的分割符是:空格、制表符(t)、换行符(n)、回车符(r)

代码语言:javascript复制
import java.util.StringTokenizer;

public class Test{
    public static void main(String args[]){
        String str = "www lxacy ,com";
        StringTokenizer st = new StringTokenizer(str);
        while (st.hasMoreElements()) {
            System.out.println(st.nextElement());
        }
        
        StringTokenizer st2 = new StringTokenizer(str, ",");
        while (st2.hasMoreElements()) {
            System.out.println(st2.nextElement());
        }
    }
}
/* 输出结果:
www lxacy ,com
www lxacy com 
*/ 

字符串反转

使用StringBuffer类的反转函数 reverse() 将字符串反转

代码语言:javascript复制
public class Test{
    public static void main(String[] args){
        String string="bset lx";
        String reverse = new StringBuffer(string).reverse().toString();
        System.out.println("字符串反转后:" reverse);
    }
}
/* 输出结果:字符串反转后:xl tesb */ 

字符串比较首字母的ASCII差值

字符串函数 :

  • compareTo (string)
  • compareToIgnoreCase(String)
  • compareTo(object string)

比较两个字符串,并返回字符串中第一个字母ASCII的差值。

代码语言:javascript复制
public class Test{
    public static void main(String args[]){
        String str1 = "Hello World";
        String str2 = "hello world";
        Object objStr = str1;

        System.out.println( str1.compareTo(str2) ); //返回字符串中第一个字母ASCII的差值。
        System.out.println( str1.compareToIgnoreCase(str2) ); //忽略大小写
        System.out.println( str1.compareTo(objStr.toString()));
    }
}
/* 输出结果:  -32   0   0    */ 

查找字符串最后一次出现的位置

字符串函数 lastIndexOf(string) 来查找子字符串 string 最后一次出现的位置

代码语言:javascript复制
public class Test{
    public static void main(String[] args) {
        String str = "Hello world ,Hello Lx";
        int lastIndex = str.lastIndexOf("Lx");
        if(lastIndex == - 1){
            System.out.println("没有找到");
        }else{
            System.out.println("Lx 字符串最后出现的位置: "  lastIndex);
        }
    }
}
/* 输出结果: 19   */ 

字符串小写转大写

使用了 String. toUpperCase() 方法将字符串从小写转为大写

代码语言:javascript复制
public class Test{
    public static void main(String[] args) {
        String str = "string";
        String strUpper = str.toUpperCase();
        System.out.println("转换为大写: "   strUpper);
    }
}
/* 输出结果:转换为大写: STRING  */ 

判断两个字符串区域是否相等

使用 regionMatches() 方法判断两个字符串区域是否相等。

  • 第一个参数,ignoreCase=True表示忽略大小写区别
  • 第二个参数,toffset 表示将 str1 字符串从第2个字符开始和str2比较
  • 第三个参数,String 是要进行比较的字符串str2
  • 第四个参数,ooffset 表示从str2的第2个字符开始比较
  • 第五个参数,len 表示匹配的位数
代码语言:javascript复制
public class Test{
    public static void main(String[] args){
        String str1 = "Welcome to BeiJing";
        String str2 = "welcome to beijing";
        boolean match1 = str1.regionMatches(true, 2, str2, 2, 3);
        System.out.println("返回值:"   match1);
    }
}
/* 输出结果:返回值:true  */ 

字符串格式化

通过 format() 方法来格式化字符串

代码语言:javascript复制
import java.util.*;
public class Test{
    public static void main(String[] args){
        double e = Math.PI;
        System.out.format("%f%n", e);
        System.out.format(Locale.CHINA  , "%-10.4f%n%n", e);
    }
}
/* 输出结果:
3.141593
3.1416  
*/ 

0 人点赞