鉴于字符串,例如G08a,Professor3,Obs...
如何在最后一个数字后切这些字符串,因此返回:
G08a ==> G08
Professor3 ==> Professor3
Obs ==> Obs
Run Code Online (Sandbox Code Playgroud)
开始jsfiddle:https://jsfiddle.net/dpyqg2mk/
小智 5
你可以使用正则表达式.
var ss = ["G08a", "Professor3", "Obs"];
var res = ss.map(s => (/^(.*?\d)\D*$/.exec(s) || [,s])[1]);
console.log(res);Run Code Online (Sandbox Code Playgroud)
这会通过一个数字向上收集所有字符,该数字后跟一系列零或多个非数字,这些数字将一直延续到字符串的末尾.在组中捕获初始字符和非数字之前的最后一个数字.
我用作.map()演示的便利,并在正则表达式找不到匹配时替换了临时数组.
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |