【问题标题】:Separate integers from a string and divide the integres by a constant. (JS)从字符串中分离整数并将整数除以常数。 (JS)
【发布时间】:2021-01-18 03:37:17
【问题描述】:

我有一个字符串

let str = 'a12b-a24b';

我正在替换字母并将字符串分成两部分

let [result1, result2] = str.replace(/a/g,'').replace(/b/g,'').split('-');

我想在将它们分别分配给result1result2 之前,将这些数字除以一个常数,比如 2。

【问题讨论】:

    标签: javascript arrays replace split


    【解决方案1】:

    您可以使用字符类[ab]缩短替换

    如果它们是整数并除以 2,则在连字符上拆分并将值映射到 int。

    let str = 'a12b-a24b';
    let [result1, result2] = str.replace(/[ab]/g, '')
      .split('-')
      .map(s => parseInt(s, 10) / 2);
    console.log(result1)
    console.log(result2);

    【讨论】:

    • 如果ab 是特殊字符怎么办?
    • @Kundan 在这种情况下,您可以使用 [^\d-] 而不是 [ab] 替换所有不是数字或连字符的字符
    • 假设我的字符串是$1k-$10k。那么我要写什么来删除所有$k
    • @Kundan 你可以这样写let str = '$1k-$10k'; let [result1, result2] = str.replace(/[^\d-]/g, '') .split('-') .map(s => parseInt(s, 10) / 2); 在这里查看示例ideone.com/vOF1Tw
    • 好的,感谢您的支持。答案真的帮助了我。希望你喜欢我的问题。
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    相关资源
    最近更新 更多