用正则匹配。数字与汉字分隔开就行了,不管数字是多少位前面的。都可以正常分开。
// 假设你有一个包含数字和汉字的字符串
let str = "104车间";
// 使用正则表达式匹配所有连续的数字,并连接成一个字符串
let digits = (str.match(/\d+/g) || []).join('');
// 使用正则表达式匹配所有连续的汉字,并连接成一个字符串
let chinese = (str.match(/[\u4e00-\u9fa5]+/g) || []).join('');
alert(digits+"----"+chinese);
![1734745953792818.png image.png](/upload/wenda/20241221/1734745953792818.png)