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

  • 相关阅读:
    在初次安vs2008时设置的为C#现在怎么将其改为其他类型的界面
    CREATEMUTEX
    ISO 18000-6c 访问标签--应用程序访问操作ISO 18000-6C标签的方法
    虚函数的特性
    关于命名空间
    ubuntu 卸载/安装 redis
    【分享】推荐一些不错的计算机书籍
    [转]十款提高开发效率的PHP编码工具
    当当网
    Yii框架第一步-- 安装
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12728007.html
Copyright © 2011-2022 走看看