I am working with an ldap object where I am retrieving some entries from Activedirectory. The results are in such a way that the realm is returned in uppercase, like CN=bob,DC=example,DC=com
instead of cn=bob,dc=example,dc=com
. Is there a way to selectively convert the CN
and DC
substrings to lowercase? Sofar, I was using strings.split
multiple times (using "," first and then iterating again using "=") to get to the point where I can get CN, DC, etc. into a list, and then using strings.ToLower on them. Is there a better and smarter way to get this done, possibly using regex so that I can possibly avoid two iterations?
golang将字符串选择性转换为小写
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 普通网友 2016-04-19 11:53关注
Here is a regex way to make all uppercase chunks of text followed with a
=
tp lower case: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) })) }
See the Playground demo
The regex -
[A-Z]+=
- matches 1 or more uppercase ASCII letters and a=
after them. Then, inside theReplaceAllStringFunc
, we can use an "anonymous function" to return a modified match value.本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Excel发现不可读取的内容
- ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
- ¥20 yolov5自定义Prune报错,如何解决?
- ¥15 电磁场的matlab仿真
- ¥15 mars2d在vue3中的引入问题
- ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
- ¥15 算法题:数的划分,用记忆化DFS做WA求调
- ¥15 chatglm-6b应用到django项目中,模型加载失败
- ¥15 CreateBitmapFromWicBitmap内存释放问题。