【发布时间】:2021-06-04 15:56:25
【问题描述】:
我有一个包含许多行的文件,如下所示:
some text { {{7.718 1072.463} {7.718 1230.985} {15.724 1230.985} {15.724 1198.742} {15.759 1198.742} } {{7.702 1072.489} {7.702 889.858} {13.418 889.858} {13.418 887.367} {13.435 887.367} {13.435 887.376} {7.144 887.376} } } some more text
每对值都是 X 和 Y 坐标。对于文件中的每一行,我想找到每个 X 值并添加一个特定值(比如说 6.3)并打印该新行。 X 值将始终跟在 { 后面,没有任何空格。我可以通过这个 while 循环在一行中获取每个 X 值:
while ($line=~/\{\d+(?:\.\d+)?/g) {
$oldX=~s/\{//;
}
但是我怎样才能在我找到字符串的每个 X 出现的 X 值中添加一个值(如 6.3)? 我希望新字符串看起来和原来的一样,除了每个 X 值应该增加 6.3。
感谢您对此提供任何指导。
【问题讨论】:
标签: regex string perl string-substitution