js 替换字符串中最后一个逗号为冒号

JavaScript0137

js 替换字符串中最后一个逗号为冒号,第1张

<script type="text/javascript">

var str = "公司报案:受理举报投诉,媒体报导,诉讼处理,456546464654,投案自首"

    str = str.replace(/([^,]*),([^,]*)$/g, '$1:$2')

 document.write(str)

</script>

经测试,通过!

解释:使用 的是正则表达式进行查找替换

正则:/([^,]*),([^,]*)$/g 意思是,匹配不包含逗号的一串字符,接着是逗号,接着又是不包含逗号的一串字符,括号括起来是为了把匹配到的字符串分隔成块,每个括号分为一部分

后面的 $1表示正则中第一个括号的部分,接着一个冒号,接着$2是正则中第二个括号的备份,

这样,刚好就把  456546464654,投案自首  替换成了 456546464654:投案自首

在就符号了你的要求

三元运算符,跟问号是一起的。完整的表达式是 条件?'条件为true之后的值' :'条件为false时的值'

虽然题主写的表达式很长,看起来很复杂,实际道理时一样的。从左往右一步一步来。