string - Go 中如何检查字符串是全大写还是小写?

标签 string go uppercase lowercase

Golang 中检查字符串中所有字符是大写还是小写的简单方法是什么?

另外,如何处理字符串有标点符号的情况?

查看这些示例:

package main

import (
    "fmt"
    "unicode"
)

func main() {
    s := "UPPERCASE"
    fmt.Println(s.IsUpper())  // Should print true

    s = "lowercase"
    fmt.Println(s.IsUpper())  // Should print false

    s = "lowercase"
    fmt.Println(s.IsLower())  // Should print true

    s = "I'M YELLING AT YOU!"
    fmt.Println(s.IsUpper())  // Should print true
}

注意:s.IsUpper() 和 s.IsLower() 并不真正存在,但如果能找到等价的就很好了。

最佳答案

您当然可以完整地比较大小写字符串,也可以在第一次失败时短路比较,这在比较长字符串时会更有效。

func IsUpper(s string) bool {
    for _, r := range s {
        if !unicode.IsUpper(r) && unicode.IsLetter(r) {
            return false
        }
    }
    return true
}

func IsLower(s string) bool {
    for _, r := range s {
        if !unicode.IsLower(r) && unicode.IsLetter(r) {
            return false
        }
    }
    return true
}

关于string - Go 中如何检查字符串是全大写还是小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59293525/

相关文章:

postgresql - Yii - 全部以大写形式插入到 Postgres

c - 上层函数

java - 如何将 StringBuilder 标记与多个 java 字符串进行比较?

python - 在python中的匹配对象中查找字符串

java - 如何返回一个字符串?

parsing - 访问 golang yacc 生成的解析器的结果

python - 如何剥离字符串并替换 DataFrame 中的现有元素

javascript - 尝试访问指令中的数据时 AngularJs 崩溃

go - 如何发送动态 json 键/值作为请求参数

powershell - 如何使用Powershell将csv文件转换为小写或大写,以保持其结构?