我想删除字符串中最后一个字母后面的所有字符。例如。这是我要编辑的字符串:
var foo = "The quick brown fox jumps over the lazy dog | \ + ! ?";
我想要显示的是:
var foo = "The quick brown fox jumps over the lazy dog";
“g”是最后一个字母,但我不想硬编码,如果有任何字母在最后一个位置,我想让它工作。
是否有可以执行此任务的RegExp模式或插件?
谢谢!
答案 0 :(得分:0)
试试这个:
([A-Za-z])(?!.*[A-Za-z]).*
并替换为
\1
答案 1 :(得分:0)
答案 2 :(得分:0)
This regex将从任何语言的第一个非字母字符匹配到";
,并且不会包含这些字符以保持字符串不变。
[^\pL]*?(?=";)
然后用空字符串替换。请注意,您需要unicode标志u
才能使任何语言工作。如果您只需要ASCII字符,则可以将\pL
替换为a-zA-Z
。
[^\pL]
找到第一个非字母字符,\pL
匹配任何语言的任何字母*?
找到所有下一个非字母字符(?=";)
是一个积极的预测,这意味着当字符串结束时,下一个字符为";
时匹配将停止。