【问题标题】:Javascript --- Hyphen between a character and a number inside a string [closed]Javascript ---字符串中字符和数字之间的连字符[关闭]
【发布时间】:2020-01-29 06:48:19
【问题描述】:

请帮我找到一个 javascript 函数来将 KX02AB1234 之类的字符串转换为 KX-02-AB-1234。我想在字母和数字放在一起时在字母和数字之间添加连字符..

提前致谢

【问题讨论】:

  • 你有没有尝试过?
  • 不,我不擅长这些正则表达式的东西
  • str.match(/\d+|\D+/g).join('-')
  • 显示所有可能的情况。解释语句。

标签: javascript php regex string preg-replace


【解决方案1】:

在 PHP 中,您可以使用环视查找字母和数字之间的间隙(反之亦然)并用连字符替换该间隙:

$str = 'KX02AB1234';
$str = preg_replace('/(?<=[a-z])(?=\d)|(?<=\d)(?=[a-z])/i', '-', $str);
echo $str;

输出:

KX-02-AB-1234

Demo on 3v4l.org

【讨论】:

  • @SruthiVijayan 不用担心 - 我很高兴能提供帮助。
【解决方案2】:

您可以使用String#match 方法将数字组合(\d+) 或非数字组合(\D+) 提取到一个数组中,然后使用Array#join 方法将它们用连字符连接起来。

str.match(/\d+|\D+/g).join('-') 

const str = 'KX02AB1234';

console.log(str.match(/\d+|\D+/g).join('-'))

【讨论】:

    猜你喜欢
    • 2014-05-20
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多