go语言strings字符串使用详解和io输入

关于go语言字符串的使用,通过strings包是最方便的,里面提供有多种方法,可以快速地判断字符串位置,前缀和后缀,替换某个字符或删除等。下面这个例子,通过标准键盘输入,接收一个字符串,然后进行各种字符串操作示范。

package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
)
func prints(s string,title string) {
	fmt.Printf("打印,%s:\n",title)
	for _,v:= range s {
		fmt.Printf("%v\t",v)
	}
	fmt.Println("")
}
func main() {
	inputread:=bufio.NewReader(os.Stdin)//从标准键盘输入
	fmt.Println("请输入你的名字:")
	//下面是if的特殊写法,把表达式和判断放到一行。
	if input,err:=inputread.ReadString('\n'); err!=nil {//读入字符串,以换行符结束。并判断是否输入错误。
		fmt.Printf("输入错误%s\n",err)
		return
	} else {
		prints(input,"原始输入")
		dels:="go" //要删除的字符串
		//if strings.Index(input,dels) ==0 {//Index判断某个字符串的位置,如没找到返回-1。
		//用Contains判断字符串是否包含子串,strings.Contains(input, dels)如有返回true,否则返回false。
		//只是Contains判断适用字符串中只含有一处子串的情况,如我们要判断前缀和后缀就不适用此方法。
		if strings.HasPrefix(input,dels) { //HasPrefix判断是否有前缀		
			input=strings.TrimPrefix(input, dels) //调用TrimPrefix方法删除指定的前缀
			//input=input[len(dels):]//也可以直接用切片运算来操作
			prints(input,"删除前缀")
		}
		input=strings.TrimSpace(input) //调用TrimSpace方法删除前后的空格及换行符等
		prints(input,"去除前后空格换行")
		input=strings.Replace(input," ","-",-1) //Replace方法是把字符串中间的空格替换为-,-1表示替换整个字符串
		prints(input,"替换中间空格为-")
		input=strings.ToLower(input)//修改字符串为小写,ToUpper为大写
		prints(input,"改为小写")	
		if strings.Index(input,dels) == len(input)-len(dels) {//通过index和len字符串长度,查找删除的字符串是否在后缀结尾
		//if strings.HasSuffix(input,dels) { //HasSuffix判断是否有后缀
		//strings.HasPrefix(input,dels) strings.HasSuffix(input,dels) 可以用这两个方法快速判断前缀和后缀
			//input=strings.TrimSuffix(input, dels) //调用TrimPrefix方法删除指定的后缀		
			input=input[:len(input)-len(dels)]//用切片运算操作
			prints(input,"删除后缀")
		}
		
		fmt.Printf("你好,%s\n",input)
	}
	fmt.Println("88")
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值