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/