我想转换一个字符串,以便所有数字子序列都包含在{…}对中.
例如:
input_string = "APPL[E]5XXXX" output_string = "APPL[E]{5}XXXX"
每个字符串可能包含一个或多个数字,例如BASIC76XXXXX98ZZZZ,输出应为BASIC {76} XXXXX {98} zzzz
不确定这是否可能实现.任何帮助将非常感谢.
解决方法
我想你正在寻找这样的东西:
$string =~ s/(\d+)/{$1}/g;
这将匹配任何连续的数字,并用大括号包围的第一个捕获的子串($1 – 与整个匹配重合)替换它们. g是为了确保所有事件都被替换.