Java 在与正则表达式匹配的字符串中保留字符

Java 在与正则表达式匹配的字符串中保留字符,java,string,Java,String,是否有一种方法可以创建一个字符串,该字符串保留与正则表达式匹配的输入字符串中的字符 我想保留所有字符,这些字符要么是'(下划线),要么是[a-z]或[a-z]。并删除所有其他字符 我正在寻找一个类似以下函数的函数: stringreplaceall(stringinputstring,stringinputregex); 例如: { ... 字符串输入字符串=”aa@b#$cd12”; 字符串inputRegex=“[_a-zA-Z]”; String outputString=replace

是否有一种方法可以创建一个字符串,该字符串保留与正则表达式匹配的输入字符串中的字符

我想保留所有字符,这些字符要么是
'
(下划线),要么是
[a-z]
[a-z]
。并删除所有其他字符

我正在寻找一个类似以下函数的函数:

stringreplaceall(stringinputstring,stringinputregex);
例如:

{
...
字符串输入字符串=”aa@b#$cd12”;
字符串inputRegex=“[_a-zA-Z]”;
String outputString=replaceAll(inputString,inputRegex);
System.out.println(outputString);
}

输出打印-
aabcd

只需更改正则表达式以描述不在集合中的所有字符(注意插入符号^character)


我被你的问题弄糊涂了,因为你没有显示代码。您是想知道如何使用
String.replaceAll
还是想知道如何使用
regex
,除了regex之外,它不会全部使用正则表达式?很抱歉,我想知道是否有一个函数,例如String.replaceAll,它使用两个字符串—一个输入字符串和一个输出字符串—比如String.replaceAll(inputString,inputRegex)。你的意思是'String newString=inputString.replaceAll(inputRegex,“”);它将用blanks替换在你的inputRegex中找到的字符。我已经添加了一个投票,但这不算,因为我的个人资料低于15。我非常感谢这个简单的解决方案。
String inputString = "aa@b#$cd12";
String inputRegex = "[^_a-zA-Z]+";
String outputString = inputString.replaceAll(inputRegex, "");