美文网首页
[Regex] 给数据添加分隔符

[Regex] 给数据添加分隔符

作者: oyealex | 来源:发表于2017-01-04 12:06 被阅读0次

    Regex:##

    // 以逗号分隔数据,每三位做一个分隔
    (?<=\d)(?<!\.\d*)(?=(?:\d{3})+(?:\.|$))
    // replace to  "," 
    

    Analysis:##

    • (?<=\d) 零宽断言,匹配第一个数字以后的位置,防止出现类似 ,123,456 等在数据开头添加分隔符的情况
    • (?<!\.\d*) 零宽断言,反向匹配,匹配小数点以前的位置,防止出现类似 123,456.789,123 等在小数点之后插入分隔符的情况
    • (?=(?:\d{3})+(?:\.|$)) 零宽断言,(?:\d{3})+ 正向查找三个数字连续出现的情况 (?:\.|$) 最终以小数点或者数据末位结尾
    • 整个表达式并没有匹配任何字符,仅仅匹配位置,然后将获取到的应该插入分隔符的位置替换为逗点分隔符
    • 表达式中的数字3和替换字符逗号可按需替换

    Test Case:##

    -4321234.12345678
    1231238947
    13405023405179
    +19823748917
    +10293490.12341954234
    1902378490103.1239412793
    -1239478193.1234523452341
    123
    123456
    

    Result:##

    -4,321,234.12345678
    1,231,238,947
    13,405,023,405,179
    +19,823,748,917
    +10,293,490.12341954234
    1,902,378,490,103.1239412793
    -1,239,478,193.1234523452341
    123
    123,456
    

    相关文章

      网友评论

          本文标题:[Regex] 给数据添加分隔符

          本文链接:https://www.haomeiwen.com/subject/gnyovttx.html