首页 > 解决方案 > 从javascript中的字符串拆分数字(仅限ID)

问题描述

我想将“Sachin Tendulkar (123456)”拆分为

Name = "Sachin Tendulkar"    
ID  = "123456"

在少数情况下,我有“320Gangadar Block(MD)(122435)”

我需要将 () 大括号内的数字和 Name 分开,我试过.split(/(\d+)/)了,它在“320Gangadar Block(MD)(122435)”中失败了

预期结果:

Name = "320Gangadar Block(MD)"
ID = "122435"

标签: javascriptregexsplit

解决方案


最好的办法是在字符串上使用 lastIndexOf 函数,如下所示:

const str = "320Gangadar Block(MD)(122435)";
const idStart = str.lastIndexOf("(");
const name = str.substring(0, idStart);
const id = str.substring(idStart + 1, str.length - 1);

document.getElementById("name").innerText = "Name: " + name;
document.getElementById("id").innerText = "ID: " + id;
<div id="name"></div>
<div id="id"></div>

在这种情况下,你真的不需要正则表达式,它们比原生 JS 解决方案慢。


推荐阅读