我有一些字符串,例如E2 9NZ, N29DZ,EW29DZ.在上面的例子中E,我需要在第一个数字之前提取字符: N,, EW.我应该使用正则表达式吗?该字符串包看起来真的不错,但似乎并不来处理这种情况(提取特定类型之前的所有内容).
编辑:
为了澄清"问题:"我不知道用什么方法是更地道,以去,也许有可能提供更好的性能.
例如,
package main
import (
"fmt"
"unicode"
)
func DigitPrefix(s string) string {
for i, r := range s {
if unicode.IsDigit(r) {
return s[:i]
}
}
return s
}
func main() {
fmt.Println(DigitPrefix("E2 9NZ"))
fmt.Println(DigitPrefix("N29DZ"))
fmt.Println(DigitPrefix("EW29DZ"))
fmt.Println(DigitPrefix("WXYZ"))
}
Run Code Online (Sandbox Code Playgroud)
输出:
E
N
EW
WXYZ
Run Code Online (Sandbox Code Playgroud)
如果没有数字,例如"WXYZ",并且您不想要返回任何内容,请更改return s为return "".
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |