【发布时间】:2012-12-20 18:45:50
【问题描述】:
我需要从一行中提取多个固定位置的子字符串,同时替换另一个位置的空格。
例如,我有一个字符串“01234567890”。我想提取位置 1、2、6、7、8 的字符,同时如果位置 12、13 是空格,我想用 0101 替换它们。它都是基于位置的。
使用 perl 实现这一目标的最佳方法是什么?
我可以使用 substr 和字符串比较,然后将它们连接在一起,但代码看起来相当笨重....
【问题讨论】:
-
请澄清“同时如果第12、13位是空格,我想用0101替换它们。”对于初学者,您列出了两个职位,但有 4 个替换字符。你想替换它们的输入字符串,还是在提取的数据中?
-
我的意思是“用 01 替换它们”。无论哪种方式都可以。
-
这对我毫无帮助。将它们中的每一个替换为
01或 12->0、13->1?你想替换它们的输入字符串,还是在提取的数据中? -
2 个空格 -> 01. 提取数据。
-
谢谢,虽然我看到 amon 已经给出了很好的答案。