迭代字符串并用映射值替换原始字符串中的值的惯用方法
短信预约 -IT技能 免费直播动态提醒
php小编新一带来了一种迭代字符串并用映射值替换原始字符串中的值的惯用方法。这种方法可以帮助开发者简化字符串操作的过程,提高开发效率。通过使用映射数组,开发者可以定义一组键值对,然后使用迭代方法将原始字符串中的特定值替换为映射值。这种方法不仅简单易懂,而且可以应用于各种场景,例如数据处理、文本替换等。无论是初学者还是经验丰富的开发者都可以从这种方法中受益,快速高效地处理字符串操作。
问题内容
我有一个关于迭代字符串并将 rune
映射到映射的工作解决方案
package main
import (
"fmt"
)
func main() {
numToString := map[rune]string{
'0': "zero",
'1': "one",
'2': "two",
'3': "three",
'4': "four",
'5': "five",
'6': "six",
'7': "seven",
'8': "eight",
'9': "nine",
}
testStr := "one two 3 four"
newStr := ""
for _, char := range testStr {
if val, ok := numToString[char]; ok {
newStr += val
continue
}
newStr += string(char)
}
// prints one two three four
fmt.Println(string(newStr))
}
这符合我的愿望......但是我很好奇一种更干净的方式(如果可能的话),而不是分配一个全新的字符串来基于原始字符串进行构建。如果我可以在迭代时就地修改原始内容,我会更愿意这样做。
这里是游乐场
解决方法
使用 strings.Replacer 替换字符串。
var numToString = strings.NewReplacer(
"0", "zero",
"1", "one",
"2", "two",
"3", "three",
"4", "four",
"5", "five",
"6", "six",
"7", "seven",
"8", "eight",
"9", "nine").Replace
func main() {
testStr := "one two 3 four"
newStr := numToString(testStr)
fmt.Println(newStr)
}
https://www.php.cn/link/7d420e2b2939762031eed0447a9be19f
以上就是迭代字符串并用映射值替换原始字符串中的值的惯用方法的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341