如何在angularjs中拆分字符串?

时间:2016-12-07 07:33:29

标签: javascript

我使用j时出现问题。我有一个字符串=> "c:0.1|d:0.2",我需要像这样输出=> c:10%,d:20%

2 个答案:

答案 0 :(得分:6)

使用String#splitArray#mapArray#join方法。



var str = "c:0.1|d:0.2";

console.log(
  str
  // split string by delimitter `|`
  .split('|')
  // iterate and generate result string
  .map(function(v) {
    // split string based on `:`
    var s = v.split(':')
      // generate the string
    return s[0] + ':' + (Number(s[1]) * 100) + "%"
  })
  // join them back to the format
  .join()
)




您还可以使用String#replace方法和capturing group regex以及回调函数。



var str = "c:0.1|d:0.2";

console.log(
  str.replace(/\b([a-z]:)(0\.\d{1,2})(\|?)/gi, function(m, m1, m2, m3) {
    return m1 +
      (Number(m2) * 100) + // calculate the percentage value
      (m3 ? "%," : "%") // based on the captured value put `,`
  })
)




Regex explanation here.

答案 1 :(得分:1)

这不是角度问题,你可以使用简单的逻辑,在以下之后使用子字符串取值:并乘以100得到10或各自的值。