大概明白了意思,优先取-后的值,不满足则取当前字符串。看使用场景,如果a-b-c...,取最后-后的值的场景下,1.分割方法,简单明了,按照分割符分割后,取最后一个有效值。字符串.split("-").pop()2.正则, 通过替换的方式,其中\w根据具体情况去调整。字符串.replace(/\w+-/g,"")
非正则写法function cb(string = ''){ const arr = string.split('-') return arr[1] || arr[0] } let str = 'dingdan-danhao' cb(str) // 'danhao'let str = 'dingdan-danhao' str = str.split('-')[1] || str // 'danhao'
const str = "dingdan-danhao"; const match = /-([^\-]+)/.exec(str) ?? []; const result = match[1] ?? str; console.dir(result);
str.match(/\w+$/)[0]
-刚好是不属于\w的字符。如果单词是空格或者其他不属于\w的字符分隔但仍然要匹配的话那就换成:
str.match(/[^-]+$/)[0]