我有一个标准输入字符串,它必须由数字和字母组成,除以字符“.”。(示例 = as12d.fg34h)。任务是制作一个仅包含数字和字符“.”的新切片。我知道如何获取数字:for _, char := range string { if char >= '0' && char <= '9' { seq = append(seq, int(char - '0'))}问题是这个字符“。”,因为如果我尝试将其设为 int,我会从它在 ascii 表中的位置获取数字,但如果我离开 rune,它会给出错误(int 的切片可以只保留 int)。那么我怎样才能得到结果[12.34]呢?
1 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
假设您的问题是如何存储.在一片 int 中。您可以尝试使用字符串而不是 slice of int。
func main() {
str := "as12d.fg34h"
seq := "" // use string instead of slice of int
for _, char := range str {
if char == '.' {
seq += string(char) // covert rune to string & append
}
if char >= '0' && char <= '9' {
seq += string(char)
}
}
fmt.Println(seq)
}
- 1 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消
