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只替换第一次出现的字符串

  • 相关阅读:
    低功耗计算机视觉技术前沿,四大方向,追求更小、更快、更高效
    ELECTRA中文预训练模型开源,性能依旧媲美BERT
    局部敏感哈希源代码-python
    利用局部敏感哈希改进推荐系统实时性
    局部敏感哈希算法介绍
    为什么要用局部敏感哈希
    多采用panda的数据处理方式
    delphi:文件操作
    delphi:常用函数
    delphi:打印日志
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12728007.html
Copyright © 2011-2022 走看看