Scala 正则表达式替换为匿名函数
在 Ruby 中,我可以通过以下方式替换字符串中的字符:
a = "one1two2three"
a.gsub(/\d+/) {|e| e.to_i + 1}
=> "one2two3three"
从第二行计算块的结果将替换模式中匹配的内容。我们可以在 Scala 中做类似的事情吗?用函数/匿名函数的结果替换正则表达式中的某些内容?
In Ruby I can replace characters in a string in the following way:
a = "one1two2three"
a.gsub(/\d+/) {|e| e.to_i + 1}
=> "one2two3three"
The result of evaluating the block from the second line, will replace what was matched in the pattern. Can we do something equivalent in Scala? Replace something in a regex with the results of a function/anonymous function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,
Regex#replaceAllIn
有一个重载版本,它采用函数Match =>;字符串
。代码的等效 Scala 版本将是:Yes,
Regex#replaceAllIn
has an overloaded version that takes a functionMatch => String
. The equivalent Scala version of your code would be: