const str = "sf-321-3Aaa2131232143124434@*5454353-678788"
如何使用正将str中第8位后如果含有特殊字符,删除特殊字符后的所有内容得到:
sf-321-3Aaa2131232143124434
const str = "sf-321-3Aaa2131232143124434@*5454353-678788"
如何使用正将str中第8位后如果含有特殊字符,删除特殊字符后的所有内容得到:
sf-321-3Aaa2131232143124434
要看你怎么去定义特殊内容了
目测你这段文本中就@*这两个字符是特殊内容
function replace(string,startLen){
const start = string.slice(0,startLen)
const end = string.slice(startLen)
//const reg = /[^\w-]/gi
const reg = /(?=[^\w-]).*/gi
return start + end.replace(reg,()=>{
return ''
})
}
replace("sf-321-3Aaa2131232143124434@*5454353-678788",8) //'sf-321-3Aaa21312321431244345454353-678788'
看了你的回复,这事儿不适合用正则表达式来处理。最简单的就是用循环来处理,找到特殊字符立即break出去就完事儿了。
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答838 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
这样?