热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

go介绍32——字符串操作

字符串操作packagemainimport(fmtregexp)funcmain(){buf:
字符串操作

package mainimport ("fmt""regexp"
)func main() {buf := `

">

测试1

测试2
你好
麦克

测试3

测试4

`//1. 解析正则表达式//reg := regexp.MustCompile(`
(.*)
`) //+表示前一个字符1次或多次reg := regexp.MustCompile(`
(?s:(.*?))
`)if reg == nil {fmt.Println("reg = ", reg)return}//2. 提取关键信息s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有fmt.Println("s = ", s)//3. 过滤for _, data := range s {//fmt.Println("data[0] = ", data[0]) //带标签fmt.Println("data[1] = ", data[1]) //不带标签}
}

字符串转换

package mainimport ("fmt""strconv"
)func main() {//1. 字符串追加//转换位字符串后追加到字节数组slice := make([]byte, 0, 1024)slice = strconv.AppendBool(slice, true)//第二个数为要追加的数,第三个数指定十进制方式追加slice = strconv.AppendInt(slice, 1234, 10)slice = strconv.AppendQuote(slice, "go")fmt.Println("slice = ", string(slice))//bool转换为字符串var str stringstr = strconv.FormatBool(false)//float转换为字符串str = strconv.FormatFloat(3.1415, 'f', -1, 64)//整型转字符串str = strconv.Itoa(1234)fmt.Println("str = ", str)//字符串转其他类型flag, err := strconv.ParseBool("true")if err == nil {fmt.Println("flag = ", flag)} else {fmt.Println("err = ", err)}//字符串转换为整型a, err := strconv.Atoi("123")if err == nil {fmt.Println("a = ", a)} else {fmt.Println("err = ", err)}
}

正则表达式1

package mainimport ("fmt""regexp"
)func main() {buf := "abc azc a2c qwe 888 ip9 bn5"//1.解析规则:会解析正则表达式 如果成功返回解析器//reg := regexp.MustCompile(`a.c`) //a开头 中间任意字符 c结尾//reg := regexp.MustCompile(`a[0-9]c`)reg := regexp.MustCompile(`a\dc`)if reg == nil {fmt.Println("reg = ", reg)return}//2.根绝规则提取关键信息s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有fmt.Println("s = ", s)
}

正则表达式2

package mainimport ("fmt""regexp"
)func main() {buf := "2.13 12.12 2 1.2 5.6 12 acb"//1. 解析正则表达式reg := regexp.MustCompile(`\d+\.\d+`) //+表示前一个字符1次或多次if reg == nil {fmt.Println("reg = ", reg)return}//2. 提取关键信息s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有fmt.Println("s = ", s)
}

正则表达式3

package mainimport ("fmt""regexp"
)func main() {buf := `

">

测试1

测试2
你好
麦克

测试3

测试4

`//1. 解析正则表达式//reg := regexp.MustCompile(`
(.*)
`) //+表示前一个字符1次或多次reg := regexp.MustCompile(`
(?s:(.*?))
`)if reg == nil {fmt.Println("reg = ", reg)return}//2. 提取关键信息s := reg.FindAllStringSubmatch(buf, -1) //-1表示匹配所有fmt.Println("s = ", s)//3. 过滤for _, data := range s {//fmt.Println("data[0] = ", data[0]) //带标签fmt.Println("data[1] = ", data[1]) //不带标签}
}

推荐阅读
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有