gpt4 book ai didi

f# - 如何替换给定索引处的字符串元素

转载 作者:行者123 更新时间:2023-12-02 06:56:20 25 4
gpt4 key购买 nike

string s = "foo.bar"
s[s.LastIndexOf(".")] = "-"

这在类 C 语言中听起来非常简单,但在 F# 中却让我抓狂

我的代码:

let sb = new StringBuilder(s)
sb.[s.LastIndexOf(".")] <- '-'
let s = sb.ToString()

有没有更优雅的方法来做到这一点?喜欢使用 |> 吗?我不想显式声明一个新变量 sb

最佳答案

或者,您可以按如下方式执行此操作:

let s = "foo.bar"
let index = s.LastIndexOf('.')
let s1 = s |> String.mapi(fun i x -> if i=index then '-' else x)
s1 |> printfn "%A"

打印:“foo-bar”

链接:https://dotnetfiddle.net/5FjFR1

关于f# - 如何替换给定索引处的字符串元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com