登录
首页 >  Golang >  Go问答

Go : 正则表达式交换案例

来源:Golang技术栈

时间:2023-04-09 12:19:56 387浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《Go : 正则表达式交换案例》带大家来了解一下Go : 正则表达式交换案例,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我想在 Go 中使用正则表达式交换案例。我尝试在 Javascript 中使用类似的方法,但我不知道如何让 Go 理解 $ 符号。

func swapcase(str string) string {
    var validID = regexp.MustCompile(`[A-Z]`)
    return validID.ReplaceAllString(str, strings.ToLower(str))

/*
 var validID = regexp.MustCompile(`[a-z]`)
 return validID.ReplaceAllString(str, strings.ToUpper(str))
*/
}

这是我的尝试。它适用于将所有大写字母转换为小写字母,反之亦然,但我想做的是同时交换每个字母。例如,“你好”--->“你好”

以下是我在 Javascript 中完美运行的代码。

 function SwapCase(str) {

     return str.replace(/([a-z])|([A-Z])/g,
        function($0, $1, $2) {
            return ($1) ? $0.toUpperCase() : $0.toLowerCase();
        })
 }

正确答案

你不能(我认为)使用正则表达式来做到这一点,但使用strings.Map.

package main

import (
    "fmt"
    "strings"
)

func swapCase(r rune) rune {
    switch {
    case 'a' 

理论要掌握,实操不能落!以上关于《Go : 正则表达式交换案例》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表