Java字符串replaceAll()方法
时间:2020-02-23 14:34:32 来源:igfitidea点击:
Java字符串replaceAll()替换所有出现的特定字符,字符串或者字符串中的正则表达式。
该方法返回一个新字符串作为其输出。
该方法需要两个参数。
字符串replaceAll()语法
public String replaceAll(String regex, String replacement)
一个正则表达式,代表替换时要查找的模式以及替换它的替换字符串。
字符串replaceAll()方法可能有多种替换类型。
替换单个字符
要替换单个字符,请指定要替换的字符作为正则表达式。
public class Main {
public static void main(String[] args) {
String s = "Welcome to theitroad";
System.out.println("Original String : "+s);
System.out.println();
String rep = s.replaceAll("o","@");
System.out.println("New String: "+rep);
}
}
Original String: Welcome to theitroad New String: Welc@me t@ J@urnalDev
替换字符序列
要替换字符序列,请在replaceAll()函数中将该序列称为正则表达式。
public class Main {
public static void main(String[] args) {
String s = "Welcome to theitroad";
System.out.println("Original String : "+s);
System.out.println();
String rep = s.replaceAll("to","this is");
System.out.println("New String: "+rep);
}
}
输出
Original String : Welcome to theitroad New String: Welcome this is theitroad
删除/替换空间
replaceAll()方法可以删除或者替换文本字符串中的空格。
public class Main {
public static void main(String[] args) {
String s = "Welcome to theitroad";
System.out.println("Original String : "+s);
System.out.println();
String rep = s.replaceAll(" ","");
System.out.println("New String: "+rep);
}
}
删除空间
Original String : Welcome to theitroad New String: Welcometotheitroad
同样,要替换空白:
public class Main {
public static void main(String[] args) {
String s = "Welcome to theitroad";
System.out.println("Original String : "+s);
System.out.println();
String rep = s.replaceAll(" ","_");
System.out.println("New String: "+rep);
}
}
Original String : Welcome to theitroad New String: Welcome_to_theitroad
隐藏文本中的数字
replaceAll()可以隐藏出现在字符串中的数字。
可用" *"代替数字。
public class Main {
public static void main(String[] args) {
String s = "Hello! this is the number : 1234 ";
System.out.println("Original String : "+s);
System.out.println();
String rep = s.replaceAll("[0-9]","*");
System.out.println("New String: "+rep);
}
}
Original String : Hello! this is the number : 1234 New String: Hello! this is the number :
创建自定义消息
replaceAll()可以替换通用字符串中的字符串以生成自定义消息。
让我们从地图中获取值并生成自定义消息。
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String s = "dear #Employee#, your Current Salary is #Salary#.";
Map<String, String> vals = new HashMap<String, String>();
vals.put("#Employee#", "John");
vals.put("#Salary#", "12000");
for (String key : vals.keySet()) {
s = s.replaceAll(key, vals.get(key));
}
System.out.println(s);
}
}
dear John, your Current Salary is 12000.
首先替换
与replceAll()不同,replaceFirst()仅替换模式的第一个实例。
public class Main {
public static void main(String[] args) {
String s = "Welcome to theitroad";
System.out.println("Original String : "+s);
System.out.println();
String rep = s.replaceFirst("o","@");
System.out.println("New String: "+rep);
}
}
Original String: Welcome to theitroad New String: Welc@me to theitroad

