博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA中对字符串的常见处理函数汇总
阅读量:7040 次
发布时间:2019-06-28

本文共 3181 字,大约阅读时间需要 10 分钟。

字符串

看到字符串,想到字符串处理中,有

字符串的反转,初级面试中常用到

字符串分割成字符串组,初级面试中常用到

字符串中的替换,初级面试中常用到

字符串中的截取,初级面试中常用到

反转reverse,java 中字符串没有reverse这个方法,Python中有,如果未有编程语言限制,可以直接用python语言
str.reverse()实现;
那用Java呢,也很简单,就是将所有字符倒序;

有时候,面试要求将所有的方法都写下来

Java中String没有reverse方法,StringBuilder有这个方法

String str = "12345";    @Test    public void Test() {        StringBuilder stringBuilder = new StringBuilder();        char[] chars = str.toCharArray();        System.out.println("字符串的长度是" + chars.length);        int m = 1;        for (int i = chars.length; i >= 1; i--) {            stringBuilder = stringBuilder.append(chars[i - 1]);            System.out.println("the" + m + "char is--" + chars[i - 1]);            m++;        }        System.out.println(stringBuilder.toString());    }    @Test    public void Test2() {        StringBuilder stringBuilder = new StringBuilder(str);        System.out.println(stringBuilder.reverse().toString());    }    @Test    public void Test3() {        char[] chars = str.toCharArray();        String str_reverse="";        for (int i = chars.length - 1; i >= 0; i--) {            str_reverse += chars[i];        }        System.out.println(str_reverse);    }    @Test    public void Test4() {        String str_reverse = "";        int length = str.length();        for (int i = 0; i < length; i++) {            str_reverse = str.charAt(i) + str_reverse;        }        System.out.println(str_reverse);    }

  

第一种,用了StringBuilder()中字符append连接,

字符串中函数toCharArray();将字符串变成字符数组,然后反向遍历

第二种,直接用了StringBuilder()中reverse方法

第三种,字符串中函数toCharArray();方法,反向将字符串连接

第四种,字符串中的函数.charAt(i)方法,获取指定位置的字符,后面的字符依次遍历并且链接在首位

 

 字符串分割,可以根据指定字符,指定字符串,指定正则表达式进行分割,分几段也可以限制

public class TestString2 {    String str = "bb1a2a3a4a5a";    @Test    public void Test() {        String[] str2 = str.split("a");        for (int i = 0; i < str2.length; i++) {            System.out.println(str2[i]);        }    }    @Test    public void Test2() {        String[] str2 = str.split("a",3);        for (int i = 0; i < str2.length; i++) {            System.out.println(str2[i]);        }    }    @Test    public void Test3() {        String[] str2 = str.split("\\d");        for (int i = 0; i < str2.length; i++) {            System.out.println(str2[i]);        }    }    @Test    public void Test4() {        String[] str2 = str.split("\\d",3);        for (int i = 0; i < str2.length; i++) {            System.out.println(str2[i]);        }    }}

  

字符串中的替换,主要有replace 和 replaceAll

public class TestString3 {    String str = "a1a2a3a4a5a";    @Test    public void Test() {        String str1= str.replace("a","b");        System.out.println(str1);        String str2= str.replace("a4","bE");        System.out.println(str2);        String str3= str.replaceAll("\\d","E");        System.out.println(str3);    }}

 

字符串中的截取,主要是substring()

public class TestString4 {    @Test    public void TestSubString() {        String str= "123456789";        System.out.println(str.substring(0, 7));        System.out.println(str.substring(1, 7));        System.out.println(str.substring(4));        System.out.println(str.substring(0));    }}

  

 

 更多更详细的方法,见下图

 图片可以方法看, 图片链接  

 

 

转载于:https://www.cnblogs.com/qianjinyan/p/10218906.html

你可能感兴趣的文章
JSON与Bean互转
查看>>
NOIP2015斗地主(搜索+模拟+贪心)
查看>>
BM算法学习笔记
查看>>
页面的生命周期,你能掌握么?
查看>>
第三次实验
查看>>
ASP.NET代码调用SQL Server带DateTime类型参数的存储过程抛出异常问题
查看>>
Http中Get和Post的区别
查看>>
ASP.NET Core读取AppSettings
查看>>
ACL in 和 out 区别 (重要)
查看>>
libevent的hello world程序
查看>>
[PHP]图片上传代码【原创】
查看>>
博客园修改页面显示样式css
查看>>
STL入门
查看>>
回溯7--选书
查看>>
最高分是多少
查看>>
Linux下全局安装composer方法
查看>>
两种语言实现设计模式(C++和Java)(四:适配器模式)
查看>>
命名规则
查看>>
BFC——块级格式化上下文
查看>>
C++ #if 1
查看>>