有没有办法使用包含变量的正则表达式来替换字符串中的字符

问题描述 投票:0回答:1

我已经有了代码s.replaceFirst("\\.", "");。这将替换给定字符串s中的点。但我的问题是,它应该能够改变,什么将被取代。例如,程序必须立即替换问号。我试着这样做:

String characterToReplace = "?";
s = s.replaceFirst("\\" + characterToReplace, "");

但这只会造成错误。

java regex replace
1个回答
3
投票

尝试使用Pattern.quote,讨论here

import java.util.regex.Pattern;

// ...

String characterToReplace = "?";
s = s.replaceFirst(Pattern.quote(characterToReplace), "");
© www.soinside.com 2019 - 2024. All rights reserved.