zoukankan      html  css  js  c++  java
  • JAVA中对字符串的常见处理函数汇总

    字符串

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

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

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

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

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


    反转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://img2018.cnblogs.com/blog/1064427/201901/1064427-20190107160519024-23600065.png

  • 相关阅读:
    Oracle 按一行里某个字段里的值分割成多行进行展示
    Property or method "openPageOffice" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by
    SpringBoot 项目启动 Failed to convert value of type 'java.lang.String' to required type 'cn.com.goldenwater.dcproj.dao.TacPageOfficePblmListDao';
    Maven 设置阿里镜像
    JS 日期格式化,留作参考
    JS 过滤数组里对象的某个属性
    原生JS实现简单富文本编辑器2
    Chrome控制台使用详解
    android权限(permission)大全
    不借助第三方网站四步实现手机网站转安卓APP
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/10218906.html
Copyright © 2011-2022 走看看