【发布时间】:2014-09-04 16:07:28
【问题描述】:
在 Perl 的多个位置将字符插入字符串的最佳方法是什么?我有一个字符串,其中删除了所有非数字字符。之后,我想从末尾开始在第 4 位和第 8 位插入一个破折号。你猜对了,我正在修改所有输入的电话号码,使它们都具有相同的格式:XXX-XXX-XXXX
$number =~ s/[^0-9]//g;
substr($number, -4, 0, '-');
substr($number, -8, 0, '-');
是否有一个正则表达式可以在一行中执行上述代码?有没有我不知道的更高效的东西?
提前致谢!
【问题讨论】:
-
s/(\d{3})(\d{3})(\d{4})/$1-$2-$3/ -
在允许的字符中你真的需要
+吗? -
@Miller 我猜不是。现在将编辑。谢谢!