我使用以下行删除给定数据"DATA"中的所有$符号和空格:
String temp_data = DATA.replaceAll("$", "").replaceAll(" ", "");
Run Code Online (Sandbox Code Playgroud)
但它不会删除$符号,只删除空格.有人知道为什么吗?
谢谢,Binyamin
第一个参数replaceAll采用的是正则表达式,正则表达式引擎将$视为代表行尾的特殊字符.用\来逃避它:像这样:
String temp_data = DATA.replaceAll("\\$", "").replaceAll(" ", "");
Run Code Online (Sandbox Code Playgroud)
这是使用replaceAll和replace的示例:
import junit.framework.TestCase;
public class ReplaceAllTest extends TestCase {
private String s = "asdf$zxcv";
public void testReplaceAll() {
String newString = s.replaceAll("\\$", "X");
System.out.println(newString);
assertEquals("asdfXzxcv", newString);
}
public void testReplace() {
String newString =s.replace("$", "");
System.out.println(newString);
assertEquals("asdfzxcv", newString);
}
}
Run Code Online (Sandbox Code Playgroud)