我如何从字符串末尾删除_100,应该仅在字符串末尾删除它。 例如 marks_old_100应该为“ marks_old”。 Marks_100应该是“标记”。
function numInString(strs) {
let newStr = ''
for (let i = 0; i < strs.length; i++) {
let noNumRegex = /\d/
let isAlphRegex = /[a-zA-Z]$/
if (isAlphRegex.test(strs[i])) {
newStr += strs[i]
}
}
return newStr
}
console.log(numInString('marks_100'))
答案 0 :(得分:0)
尝试:
string.replace(/_\d+$/g, "")
它使用正则表达式,并且$
与字符串的末尾匹配。 .replace
然后将其替换为空字符串,返回末尾没有\d+
的字符串。 \d
匹配任何数字,而+
表示匹配多个数字。
或者,如果您想匹配单词的结尾,请尝试:
string.replace(/_\d+\b/g, "")
利用\b
来匹配单词的结尾。
答案 1 :(得分:0)
请检查以下代码段:
const s = 'marks_old_100';
// remove any number
console.log(s.replace(/_[0-9]+$/, ''));
// remove three digit number
console.log(s.replace(/_[0-9]{3}$/, ''));
// remove _100, _150, _num
console.log(s.replace(/_(100|150|num)$/, ''));