gpt4 book ai didi

regex - golang选择性地将字符串转换为小写

转载 作者:IT王子 更新时间:2023-10-29 01:02:10 26 4
gpt4 key购买 nike

我正在使用一个 ldap 对象,我正在从 Activedirectory 中检索一些条目。结果以大写形式返回领域,例如 CN=bob,DC=example,DC=com 而不是 cn=bob,dc=example,dc=com 。有没有办法选择性地将 CNDC 子字符串转换为小写?到目前为止,我多次使用 strings.split(先使用“,”,然后使用“=”再次迭代)以达到可以将 CN、DC 等放入列表中的地步,然后对它们使用 strings.ToLower。有没有更好更智能的方法来完成这项工作,可能是使用正则表达式,这样我就可以避免两次迭代?

最佳答案

这是一种正则表达式方法,可以使所有大写文本 block 后跟 = tp 小写:

package main

import (
"fmt"
"strings"
"regexp"
)

func main() {
input := "CN=bob,DC=example,DC=com"
r := regexp.MustCompile(`[A-Z]+=`)
fmt.Println(r.ReplaceAllStringFunc(input, func(m string) string {
return strings.ToLower(m)
}))
}

参见 Playground demo

正则表达式 - [A-Z]+= - 匹配 1 个或多个大写 ASCII 字母及其后的 =。然后,在 ReplaceAllStringFunc 里面,我们可以使用“匿名函数”来返回修改后的匹配值。

关于regex - golang选择性地将字符串转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36717201/

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