用字符串中的双精度数替换数字

问题描述 投票:0回答:1

我正在努力用字符串中的双精度数字替换数字。我怎样才能做到这一点?

这些都不适合我(我使用的是 Julia v1.8):

replace("hello num12 text and num5 numbers",r"num([0-9]+)"=>2*s"\1")
replace("hello num12 text and num5 numbers",r"num([0-9]+)"=>2*parse(Int,s"\1"))
replace("hello num12 text and num5 numbers",r"num([0-9]+)"=>2*parse(Int,SubstitutionString("\\1")))

输入:

“你好 num12 文本和 num5 数字”

预期输出(删除字符串“num”并将数字替换为其双精度):

“你好,24 条文字和 10 个数字”

任何帮助将不胜感激。

编辑:错别字。

julia
1个回答
0
投票

对于您的情况,您需要传递一个函数作为第二个参数:

julia> replace("hello num12 text and num5 numbers",r"num([0-9]+)" => x -> 2*parse(Int, chop(x, head=3, tail=0)))
"hello 24 text and 10 numbers"
© www.soinside.com 2019 - 2024. All rights reserved.