使用{}花括号的Java String replaceAll()方法
因此,对于我在Android Studio中的应用程序,我想替换以下内容:使用{}花括号的Java String replaceAll()方法,java,string,replaceall,Java,String,Replaceall,因此,对于我在Android Studio中的应用程序,我想替换以下内容: String card = cards.get(count).getCard(); if (card.contains("{Player1}")) { String replacedCard = card.replaceAll("{Player1}", "Poep"); } 字符串卡的一个例子是:{Player1}与你旁边的人交换饮料 不知怎的,我不能用{}来替换。上面写着:{悬垂的元字符。}截
String card = cards.get(count).getCard();
if (card.contains("{Player1}")) {
String replacedCard = card.replaceAll("{Player1}", "Poep");
}
字符串卡的一个例子是:{Player1}与你旁边的人交换饮料
不知怎的,我不能用{}来替换。上面写着:{悬垂的元字符。}截图:
有解决方法吗?您需要用\来转义初始的{with\
String card=“{Player1}”;
if(卡片包含(“{Player1}”)){
String replacedCard=card.replaceAll(“\\{Player1}”,“Poep”);
System.out.println(“替换:+replacedCard”);
}
replaceAll
的第一个参数是一个被解析为(regEx)的字符串
是特殊的保留元字符,用于表示正则表达式中的某些内容。要将其作为普通字符进行匹配,需要使用前导反斜杠对其进行转义\
,并且由于反斜杠也是特殊字符,因此需要使用附加反斜杠对其本身进行转义:
String replacedCard = card.replaceAll("\\{Player1\\}", "Poep");
由于replaceAll方法的输入值需要一个正则表达式,因此需要用反斜杠转义花括号。花括号是正则表达式上下文中的特殊字符 在Java中,正则表达式中的反斜杠是由双反斜杠
\\
完成的(请参阅以获取参考)
因此,您需要像这样调整直线:
String replacedCard = card.replaceAll("\\{Player1\\}", "Poep");
{}是正则表达式的特殊字符。replaceAll方法将正则表达式作为第一个参数,因此,如果还希望替换花括号,则必须将其跳过为\\,如下所示:
String card = cards.get(count).getCard();
if (card.contains("{Player1}")) {
String replacedCard = card.replaceAll("\\{Player1}", "Poep");
}
{}
都是保留的正则表达式字符。由于replaceAll()
函数接受正则表达式参数,因此必须显式声明{
和}
是实际字符串的一部分。您可以在它们前面加转义字符:\
。但由于转义字符也是保留字符,因此也需要转义它
以下是编写代码的正确方法:
String card = cards.get(count).getCard();
if (card.contains("{Player1}")) {
String replacedCard = card.replaceAll("\\{Player1\\}", "Poep");
}
方法
String.replaceAll
需要一个正则表达式。其他答案已经给出了解决方案。但是,如果不需要正则表达式,则还可以使用:
考虑使用<代码>字符串。替换< /代码>而不是<代码>字符串。
String replacedCard = card.replace("{Player1}", "Poep");