删除字符串最后一个字母后的所有字符JS
问题描述:
我想删除字符串中最后一个字母后面的所有字符。例如。这是我想一个字符串编辑:删除字符串最后一个字母后的所有字符JS
var foo = "The quick brown fox jumps over the lazy dog | \ + ! ?";
我想展示的是:
var foo = "The quick brown fox jumps over the lazy dog";
“G”作为最后一个字母,但我不想硬编码它,我想让它工作,如果有任何信件在最后的位置。
是否有RegExp模式或插件可以完成这项工作?
谢谢!
答
试试这个:
([A-Za-z])(?!.*[A-Za-z]).*
和
\1
- ([A-ZA-Z])相匹配的字母代替
- (?!。 * [A-Za-z])看看该字符后面是否有字母表
- 若是然后拍摄线
答
This regex将匹配从第一非字母字符从任何语言";
匹配并不包括这些以保持字符串完整。
[^\pL]*?(?=";)
然后只是用空字符串替换。请注意,您需要unicode标志u
才能使用任何语言。如果你只需要ASCII字符,你可以用a-zA-Z
替换\pL
。
-
[^\pL]
发现第一个非字母字符,\pL
匹配任何语言 -
*?
任何封信后面所有的非字母字符 -
(?=";)
是一个积极的向前看,这意味着在接下来的字符是";
比赛将停止,当字符串结束时。
+0
'[^ \ pL]'可以写成'\ PL'。 – Toto
这工作就像一个魅力,谢谢! – kneles90
嘿伙计,一个简单的问题 - 我怎样才能将'A-Za-z'正则表达式改为除'|'外的任何字符 - 竖条? – kneles90
@ kneles90 do'[^ |] * $'' – heemayl