天天看点

android String的replace和replaceAll的使用

今天,讲讲字符串中的替换字符的代码的使用。

一。replace的使用

声明

以下是Java.lang.String.replace()方法的声明

public String replace(char oldChar, char newChar)
           
public String replace(char oldChar, char newChar)
           

oldChar -- 这是旧的字符.
newChar -- 这是新的字符.
           
参数

oldChar -- 这是旧的字符.
newChar -- 这是新的字符.
           

实例:

  • 下面的例子显示使用的java.lang.String.replace()方法.
    package jason.replace;
    
    import java.lang.*;
    
    public class StringDemo {
    
      public static void main(String[] args) {
      
        String str = "aacdeaa";
        System.out.println("string = " + str);
    
        // replace all 'a' characters with 'b' characters.
        String replaceStr = str.replace('a', 'b');
    
        // prints the strings after replacement
        System.out.println("new string = " + replaceStr);
      }
    }
               
    让我们来编译和运行上面的程序,这将产生以下输出结果:
    string = aacdeaa
    new string = bbcdebb
               

    其实就是把字符串中的所以字符替换为新的字符。不过,replace的参数都是字符串。

    二。replaceAll的使用。

    public String replaceAll(String regex,String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。此方法调用的 str.replaceAll(regex, repl) 形式产生与以下表达式完全相同的结果:

    Pattern.compile(regex).matcher(str).replaceAll(repl)

    参数:

    regex - 用来匹配此字符串的正则表达式

    返回:得到的 String

    抛出: PatternSyntaxException - 如果正则表达式的语法无效。

    实际应用:

    public static void main(String[] arg) throws OgnlException {

    String s ="sdf//a//aa";

    //把s中的反斜杠/ 替换为//

    System.out.println(s);

    System.out.println(s.replaceAll("", ""));

    System.out.println(s.replace("//", ""));

    }

    可以看出上面两种都返回相同的替换结果。

    replaceAll的参数第一个时正则表达式,所以对于特殊字符需要进行处理。具体的使用可以自己查找正则表达式的使用。

    android String的replace和replaceAll的使用就讲完了。

    就这么简单。