Sun*_*nny 5 javascript regex string replace
我需要创建一个正则表达式,无论字符串中的空格如何,该表达式都应查找最后的“ *”。然后,我需要用一些文本替换该字符串。
当前,它将替换字符串中首次出现的“ *”。
我如何解决它?
这是我的代码:
const regex = /\*/m;
const str = 'Field Name* * ';
const replaceStr = ' mandatory';
const result = str.replace(regex, replaceStr);
console.log('Substitution result: ', result);
Run Code Online (Sandbox Code Playgroud)
在此,输出应为“字段名称*必填”。但是我得到的是“必填字段名称*”。
String#substring
使用and代替正则表达式,String.lastIndexOf
如下所示
const str = 'Field Name* * ';
const replaceStr = 'mandatory';
const lastIndex = str.lastIndexOf('*');
const result = str.substring(0, lastIndex) + replaceStr + str.substring(lastIndex + 1);
console.log('Substitution result: ', result);
Run Code Online (Sandbox Code Playgroud)
const regex = /\*([^*]*)$/;
const str = 'Field Name* * Hello World!';
const replaceStr = ' mandatory';
const result = str.replace(regex, (m, $1) => replaceStr + $1);
console.log('Substitution result: ', result);
Run Code Online (Sandbox Code Playgroud)