仅作为昨天没有写出来的睡不着觉的安慰,仅供学习使用
简述题目:给你一句话(英文),提取出可能是“年”的信息,并输出,以空格隔开。
例如:I got the stock to rise by 2019% in 2010
示例记不清楚了,就用这代替下
输出: 2019 2020
感觉这题没有考什么内容,但是很多函数没有那么经常用,在使用时很生疏,这里做一个小小的总结:
unicode.IsPunct() 用于判断是否是符号
strconv.ParseFloat 用于判断字符串转换后是否是纯数字
package main
import (
"fmt"
"strconv"
"unicode"
)
func search(con string){
res := ""
var resArr = make([]string, len(res))
for i := 0; i < len(con); i++ {
//正常字符且不为空
if !(unicode.IsPunct(rune(con[i])) || ' ' == con[i]) {
res += string(con[i])
continue
}
//符号或者是空格
if "" == res {
continue
}
resArr = append(resArr, res)
res = ""
}
resArr = append(resArr, res)
for i := 0; i < len(resArr); i++ {
res,err:=strconv.ParseFloat(resArr[i],64)
if nil==err&&res>=1999&&res<3999{
fmt.Print(res," ")
}
}
}
func main() {
content := "I got the stock to rise by 2019% in 2010"
fmt.Println("content=", content)
search(content)
}