【发布时间】:2014-09-04 22:20:35
【问题描述】:
仅使用一个 Perl替换正则表达式语句(s///),我们如何在下面写:
每个成功匹配只包含一串字母字符A..Z。我们需要将匹配字符串替换为匹配字符串中每个字符的字符索引(按字母顺序)之和。
注意:对于 A,字符索引为 1,对于 B,为 2 ...,对于 Z,为 26。
请看下面的例子:
success match: ABCDMNA
substitution result: 38
注意:
1 + 2 + 3 + 4 + 13 + 14 + 1 = 38;
因为
A = 1, B = 2, C = 3, D = 4, M = 13, N = 14 and A = 1.
【问题讨论】:
-
这是作业吗?
-
"comment: ..." 当然,它实际上加起来是 38。
-
没有。实际上,这将帮助我开始了解如何在 Perl 的正则表达式中进行算术计算。
-
你考虑过this perldoc吗?
-
感谢该来源。我只是略过它。实际上,我在网上搜索了一种可行的方法,但没有成功。不幸的是,在您提到的 perldoc 中,我看到了嵌入代码部分,但我不知道如何引用匹配字符串中的每个字符以便能够对其进行计算。