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

  • 相关阅读:
    php----爬虫(爬取豆瓣演员信息,搜索页)遇到的问题
    python-写爬虫时遇到的问题 TimeoutError: [WinError 10060]
    聚沙成塔
    买手机,继续纠结中
    问题不绕弯,死磕
    死磕,死磕死磕
    学而不践则罔
    越是忙的时候,兴趣越多
    周末小总结
    幸福和需求
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12728007.html
Copyright © 2011-2022 走看看