正则表达式查找带方括号的String并替换

时间:2018-11-15 05:16:36

标签: java regex replace

我当前的验证码是

`
String text= "[School_Teacher_Name] is our new member, So please congratulate [School_Teacher_Name] .";
String tag = "[School_Teacher_Name]";
String value= "Yash Mathur";
String str1 = tag.substring(1, tag.length()-1);
String reg = "/\\["+str1+"\\]/";

if(text.contains(tag)){
   return text.replaceAll(reg, value).trim();
}
else{
   return text;
}`

我在正则表达式方面没有太多经验。我的代码没有替换任何值,请帮帮我。

3 个答案:

答案 0 :(得分:1)

从正则表达式中删除正斜杠。

更改

String reg = "/\\["+str1+"\\]/";

String reg = "\\["+str1+"\\]";

输出

Yash Mathur is our new member, So please congratulate Yash Mathur .

PS-在这种情况下,最好使用text.replace(tag, value)而不是text.replaceAll(reg, value)

答案 1 :(得分:1)

如果我没有误解您的要求,那么您可以这样做。 Regex

Java

$app->map('/createpet/', function () {
    $app = \Slim\Slim::getInstance();
    echo 'createpet';
    echo '<pre>'; print_r($app->request->params()); echo '</pre>';
})->via('GET', 'POST')->name("createpet");

JavaScript

createpet
Array
(
)

答案 2 :(得分:0)

使用Template Literals更加容易。

let teacher = 'Yash Mathur';
let test = `${teacher} is our new member, so please congratulate ${teacher}.`;

console.log(test);