所以我知道我可以使用lastIndexOf(“”)从单词字符串中删除最后一个单词,但是我想添加一个条件,即只有当单词包含整数0时才应删除该单词-9。
我之所以问是因为我想将公司名称与其参考标记(如果存在此类标记)分开,以获取数据列表。确保这些参考标记至少包含一个0-9整数。例如,我有字符串“ Cisco Systems RX4510”,并且我想删除“ RX4510”以仅获得公司名称“ Cisco Systems”。但是,对于另一个没有参考标记的字符串“ Electronic Arts”,我就别管它了。
谢谢您的任何帮助。
答案 0 :(得分:3)
使用一个正则表达式,该表达式在最后一个空格之后向前寻找一个数字字符,然后匹配单词字符,直到字符串$
的结尾:
const str1 = 'Cisco Systems RX4510';
const str2 = 'Electronic Arts';
const re = / (?=.*\d)\w+$/;
console.log(str1.replace(re, ''));
console.log(str2.replace(re, ''));
请注意,这也会替换最后一个单词之前的空格。如果要保留最后一个空格,请改为使用单词边界:
/\b(?=.*\d)\w+$/
答案 1 :(得分:0)
您可以使用s.charAt(s.length)
来获取最后一个字符(有更简洁的方法,但是该方法支持真正的旧浏览器),然后使用parseInt
和isNaN
检查它是否为数字。示例:
if (!isNaN(parseInt(s.charAt(s.length), 10))) {
// do something
}