var str = "公司报案:受理举报投诉,媒体报导,诉讼处理,456546464654,投案自首"
str = str.replace(/([^,]*),([^,]*)$/g, '$1:$2')
document.write(str)
</script>
经测试,通过!
解释:使用 的是正则表达式进行查找替换
正则:/([^,]*),([^,]*)$/g 意思是,匹配不包含逗号的一串字符,接着是逗号,接着又是不包含逗号的一串字符,括号括起来是为了把匹配到的字符串分隔成块,每个括号分为一部分
后面的 $1表示正则中第一个括号的部分,接着一个冒号,接着$2是正则中第二个括号的备份,
这样,刚好就把 456546464654,投案自首 替换成了 456546464654:投案自首
在就符号了你的要求
三元运算符,跟问号是一起的。完整的表达式是 条件?'条件为true之后的值' :'条件为false时的值'虽然题主写的表达式很长,看起来很复杂,实际道理时一样的。从左往右一步一步来。