zoukankan      html  css  js  c++  java
  • 字符串的反转及替换

    1、字符串反转

    (1)递归

    public class Reverse {
        public static String test(String str){
          if(str==null||str.length()<=1)
              return str;
          return test(str.substring(1))+str.charAt(0);
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test("abcd");
            System.out.println(string);
        }
    }
    dcba

    (2)charAt方法

    public class Reverse {
        public static String test(String str){
            int length = str.length();
            String reverse = "";
            for (int i=0; i<length; i++)
                reverse = str.charAt(i) + reverse;
            return reverse;
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test("abcd");
            System.out.println(string);
        }
    }

    通过charAt方法分别取出字符串中的每一个字符,并与前面所形成的字符串进行拼接,形成反转的字符串

    (3)toCharArray

    public class Reverse {
        public static String test(String str){
            char[] array = str.toCharArray();
            String reverse = "";
            for (int i = array.length - 1; i >= 0; i--) {
                reverse =reverse+ array[i];
            }
            return reverse;
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test("abcd");
            System.out.println(string);
        }
    }

    此方法是将字符串转换为字符数组,然后对字符数组进行遍历(倒序)

    (4)StringBuiler或StringBuffer的reverse()方法

    public class Reverse {
        public static String test(String str){
            StringBuilder stringBuilder=new StringBuilder(str);
            return stringBuilder.reverse().toString();
            
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test("abcd");
            System.out.println(string);
        }
    }

    2、字符串替换

    (1)replace方法:

    public class Reverse {
        public String test(){
          String str = "abcde";
          String s = str.replace('c','3');
          return s;
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test();
            System.out.println(string);
        }
    }

    一次只能将一个字符替换为另一个字符

    (2)replaceAll方法

    public class Reverse {
        public String test(){
          String str = "abcdeab";
          String s = str.replaceAll("ab","aabb");
          return s;
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test();
            System.out.println(string);
        }
    }
    aabbcdeaabb

    将所有相同的字符串替换为要替换的字符串

    (3)replaceFirst

    public class Reverse {
        public String test(){
          String str = "abcdeab";
          String s = str.replaceFirst("ab","aabb");
          return s;
        }
    
        public static void main(String[] args) {
            Reverse reverse=new Reverse();
            String string=reverse.test();
            System.out.println(string);
        }
    }

    replaceFirst与replaceAll方法不同,replaceFirst只替换第一次出现的字符串

  • 相关阅读:
    【转】Maven多模块项目构建
    【转】vue和springboot项目使用nginx配置,并配置跨域
    关于URL与URI
    C#将16位二进制转换为有符号数
    WPF中 datagird日期列格式
    记录一个困扰了我两个周的Windows网络问题
    基于企业上下级关系的组织机构体系数据模型设计
    WPF简介
    和尚挖井故事给程序员的启示!
    看八个笑话故事 悟八个人生道理
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12728007.html
Copyright © 2011-2022 走看看