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

  • 相关阅读:
    python学习笔记—— 函数
    python学习笔记——异常
    javascript 本地数据库例子
    python学习笔记——web.py
    远程桌面连接的安装和设置
    word中如何设置页码从任意页开始
    Payoneer取人民币全过程(ATM)
    菜鸟学习四种制作Word自动生成目录的方法!
    如何设置Windows 7远程桌面连接
    Freelancer:全球最大自由职业者线上市场是如何养成的
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12728007.html
Copyright © 2011-2022 走看看