字符串操作

strings.Fields 使用详解 空白智能化处理:自动处理各种空白字符组合内存高效:返回的切片共享原字符串内存简单易用:无需预先知道分割符数量特性FieldsSplit正则表达式分隔符类型Unicode 空白固定字符串任意模式连续分隔符处理视为单个保留空字符串可配置性能高中低内存效率高中低。 阅读详情

字符串是utf-8字符的一个序列,当字符为ascii码时占用1个字节,其他字符则根据需要占用2-4个字节。

go中字符串和c++、java、python不同(java始终占用2个字节),而同时根据需要占用1-4个字节。

字符串是值类型,且值不可变,就是创建完某个文本后你无法再次修改这个文本的内容。

字符串中的某个字符元素可以通过索引获取,如下:

字符串str的第一个元素:str[0]

第i个元素:str[i-1]

最后一个元素:str[len(str)-1]

注:获取字符串某个元素的地址这种操作是非法的,如:&str[i]

字符串操作

字符串的各种操作:
1、判断前后缀
strings.HasPrefix(s,prefix string) bool
strings.HasSuffix(s,suffix string) bool

2、字符串包含
strings.Contains(s, substr string) bool

3、判断子字符串或字符在父字符串中出现的位置(索引)
strings.Index(s,str string) int         返回字符串str在字符串s中首次出现位置的索引,-1表示字符串s不包含字符串str
strings.LastIndex(s,str string) int         返回字符串str在字符串s中的最后出现位置的索引,-1表示字符串s不包含字符串str
strings.IndexRune(s string, r rune) int     如果ch是非ascii编码字符,使用如下函数对字符进行定位

4、字符串替换
将字符串 str 中的前 n 个字符串 old 替换为字符串 new,并返回一个新的字符串,如果 n = -1 则替换所有字符串 old 为字符串 new
strings.Replace(str, old, new string, n int) string

5、统计字符串出现次数
strings.Count(s, str string) int

6、重复字符串
strings.Repeat(s, count int) string     重复 count 次字符串 s 并返回一个新的字符串

7、修改字符串大小写
strings.ToLower(s) string       改成小写
strings.ToUpper(s) string       改成大写

8、开头结尾字符串删除
strings.TrimSpace(s)        去除字符串开头和结尾的空白符号
strings.Trim(str, "He")     去除字符串开头和结尾的空白符号

9、字符串分割
strings.Fields(s)       利用空白作为分隔符将字符串分割为若干块,并返回一个 slice 。如果字符串只包含空白符号,返回一个长度为 0 的 slice
strings.Split(s, sep)   自定义分割符号对字符串分割,返回 slice

10、拼接slice到字符串
strings.Join(sl []string, sep string) string    将元素类型为 string 的 slice 使用分割符号来拼接组成一个字符串

11、字符串与其它类型的转换:与字符串相关的类型转换都是通过 strconv 包实现的
数字转字符串:
strconv.Itoa(i int) string          返回数字 i 所表示的字符串类型的十进制数
strconv.FormatFloat(f float64, fmt byte, prec int, bitSize int) string      将 64 位浮点型的数字转换为字符串

字符串转数字:
strconv.Atoi(s string) (i int, err error)           将字符串转换为 int 型
strconv.ParseFloat(s string, bitSize int) (f float64, err error)    将字符串转换为 float64 型

demo

package main

import (
    "fmt"
    "strconv"
    "strings"
)



func main() {
    str := "Hello ,World,cc"

    //判断前后缀
    fmt.Println("str prefix is:", strings.HasPrefix(str, "he"))
    fmt.Println("str Suffix is:", strings.HasSuffix(str, "d"))

    //判断是否包含d字符
    fmt.Println("str contain:", strings.Contains(str, "d"))

    //判断字符出现位置索引
    fmt.Println("the position of the first instance of is l is", strings.Index(str, "l"))
    fmt.Println("the position of the last instance of is l is", strings.LastIndex(str, "l"))
    fmt.Println("the position of the last instance of is b is", strings.Index(str, "b"))

    //替换字符串
    //fmt.Println("the hello world is change:", strings.Replace(str, "l", "o", -1))                 //替换所有l为o
    fmt.Println("the hello world is change:", strings.Replace(str, "l", "o", 2)) //替换2个l为o

    //统计字符串出现次数
    fmt.Println("the l in s is:", strings.Count(str, "l"))

    //重复字符串str 2次,如果count为1则相当于没有变化
    fmt.Println("the repeat s is:", strings.Repeat(str, 2))

    //修改字符串大小写
    fmt.Println("the Lower s is:", strings.ToLower(str))
    fmt.Println("the Upper s is:", strings.ToUpper(str))

    //开头结尾字符串修剪
    fmt.Println("the trim s is:", strings.TrimSpace(str))
    fmt.Println("the e trim s is:", strings.Trim(str, "he"))

    //字符串分割
    fmt.Println("the split1 s is:", strings.Fields(str)) //以空白符分割字符串,返回切片
    fmt.Println("the split2 s is:", strings.Split(str, ","))

    //字符串拼接
    s1 := strings.Split(str, ",")
    for _, v1 := range s1 {
        fmt.Println(v1)
    }
    s2 := strings.Join(s1, ";")
    fmt.Println(s2)

    //字符串与其他类型的转换
    var orig string = "666"
    var an int
    var newS string

    fmt.Printf("The size of ints is: %d\n", strconv.IntSize)

    an, _ = strconv.Atoi(orig)
    fmt.Printf("The integer is: %d\n", an)
    an = an + 5
    newS = strconv.Itoa(an)
    fmt.Printf("The new string is: %s\n", newS)

}

Python字符串操作 介绍python操作字符串的方法 阅读详情

相关推荐

招财牛猫|股社区|猫笔刀公众号历史文章13-21年(含评论),投资内容 收藏学习

招财大牛猫|股社区|猫笔刀公主号历史文章13-21年(含评论)

ZhaoCaiDaNiuMao的博客 7230

Golang strings.Fields()函数及其示例

在Golang中,我们可以使用strings库提供的函数对字符串进行处理。其中,strings.Fields()函数可以将字符串按照空格分割成一个字符串切片。1.strings.Fields()函数的语法和实现原理strings.Fields()函数的语法如下:funcFields(sstring)[]string其中,参数s是待分割的字符串,返回值是一个字符串切片,其中每个元素都是s中被空...

lxw1844912514的博客 2199

​开源大模型实战:GLM-4.1V-Thinking本地部署教程(附API调用代码)

​在AI应用从“能用”向“好用”进阶的当下,​的需求愈发强烈:企业需保障数据安全(如医疗影像、金融报告不外传),开发者追求定制化能力(如微调模型适配垂直场景),科研团队则依赖离线环境处理敏感数据。智谱AI开源的​(10B级参数,支持图像、视频、文档多模态推理)凭借的优势,成为本地部署的热门选择。不过,对于“不想折腾技术”的普通用户或快速验证需求的团队而言,​,无需安装配置,打开即用,堪称“零门槛”体验的捷径。本文将分为两部分:先手把手教你​(适合有技术背景的用户),再对比介绍。

gogoMark的博客 1339

golang中的strings.Fields

golang中的字符串操作strings.Fields package main import ( "fmt" "strings" ) //golang字符串操作 func main(){ s := "hello world hello world" //str := "wo" //以连续的空白字符为分隔符,将s切分成多个子串,结果中不包含空白字符本身。 //空白字符有:\t, \n, \v, \f,.

7833

Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟

当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理

qq_31918049的博客 2901

服务器安装Ubuntu 18.04.2 LTS超详细步骤(小白图文详解)

服务器安装Ubuntu 18.04.2 LTS超详细步骤(小白图文详解) 本文不包括启动盘制作步骤,相关内容可自行百度 华为服务器 1 插入u盘,关机重启 2 初始化界面后进入到系统的BIOS设置界面 (华为服务器按Del键,不同品牌方法不同) 3 进入的时候,华为的服务器默认设置了BIOS密码,因此需要输入之前预设的密码。 注意密码大小写问题,若密码输错三次,则需重启 4 密码输入以后,进入...

crystalbang的博客 2万+

GoLang之标准库strings包

GoLang之标准库strings包

weixin_52690231的博客 8177

Cadence psspxf实战:手把手教你仿真250MHz环形VCO的电源抑制比(附Verilog代码)

本文详细介绍了使用Cadence psspxf仿真器对250MHz环形VCO的电源抑制比(PSRR)进行仿真的全流程。从环形VCO的设计原理、Verilog代码实现,到Cadence环境配置、仿真参数设置,再到结果分析与优化技巧,提供了完整的实战指南。特别适合电路设计工程师学习如何评估和优化VCO的抗电源噪声能力。

weixin_42567752的博客 414

「每周译Go」介绍 Go 中的 Strings 包

介绍Go 的 strings 包有几个函数可用于 [string 数据类型]。这些函数可以轻松地修改和操作字符串。我们可以将函数视为对代码元素执行的操作。内置函数是那些在 Go 编程语言中定义并且可供我们随时使用的函数。在本教程中,我们将回顾几个可用于在 Go 中处理字符串的不同函数。字符串大写和小写函数 strings.ToUpper 和 strings.ToLower 将返回一个字符串,其中原...

Go中国 1571

YOLOv13改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 已更新种不同的改进方案,专栏内的每篇文章皆,均可顺利运行。2️⃣ 订阅专栏即可进群获取以及从的各种答疑内容。3️⃣ 全新的YOLOv13改进专栏,,只为更好的满足论文发表的要求。专栏内容,专栏实时评分,全网最高,质量保证。🎫。。

Limiiiing的博客 9143

基于多模态融合的反无人机视觉跟踪算法研究

本研究提出了一种基于多模态融合的反无人机视觉跟踪算法,通过整合可见光、红外、深度等多种视觉信息源,提高了对无人机的跟踪精度和可靠性。设计并实现了多模态特征提取方法,针对不同模态图像的特点提取了有效的特征信息,为多模态融合提供了基础。研究了多种多模态融合策略,包括特征级融合、决策级融合和混合融合,并通过实验对比分析了它们的优缺点,确定了适合反无人机视觉跟踪的融合方法。选择并改进了跟踪算法,将多模态融合信息融入到跟踪过程中,提高了算法对复杂环境和无人机运动变化的适应性。

AI的内部世界的博客 1349

C++字符串操作

字符串操作1.输入字符串2.字符串输出3.字符串长度4.字符串分割5.字符串比较6.字符串赋值7.判断字符串是否为空8.字符串拼接9.数组形式操作10.单个字符操作 1.输入字符串 字符串就是字符数组加上结束符 ‘\0’ 1.1 getchar() 可以读取键盘输入的单个字符 1.2 fgets(数组名, 字符个数, stdin) 读入到数组中(stdin 系统已经定义好),遇回车结束 char ch[100]; fgets(ch, 100, stdin); 1.3 getline(cin, 字符串名)

ManiacLook的博客 8030

Vulkan入门系列0- Vulkan与OpenGL的区别

虽然Vulkan和OpenGL都是对GPU的抽象,都能达到相同的功能,但它们的设计理念不同,可以说设计差异是非常之大,由于OpenGL从1992年到现在,已经有30多年的历史,GPU功能日新月异,与当年不可同日而语,在OpenGL保持向下兼容情况下,还要在OpenGL基础上设计一套编程接口显然是不可能的,所以推出了新编程规范Vulkan。另外在一些无窗口的应用中,Vulkan可以有选择的不创建帧缓冲区,比如在数学运算,物理模拟,处理视频流的应用中并不需要窗口,所以Vulkan支持更灵活的应用场景。

GPU全栈博主 4068

python 字符串所有操作

python字符串操作: 字符串一般常用操作: 字符串的替换、删除、截取、复制、连接、比较、查找、分割等 字符串内置操作方法: 使用type获取创建对象的类 type(name) 使用dir获取类的成员dir(name) 使用vars获取类的成员和各个成员的值 字符串常用方法操作: 1:casefold()将所有的字符转化为小写: name = "ZhangSan" print("{0}"...

每天一勃 8071

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Lua字符串操作

Lua的字符串操作。

至虛極,守靜篤 4146

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【go】字符串操作

Go语言提供了丰富的字符串操作函数,主要包含在strings和strconv包中。本文介绍了常用字符串操作方法,包括获取长度、拼接(+和Join)、查找比较(Contains/Index)、修改替换(Replace/大小写转换)、分割合并(Split/Join)、类型转换(strconv包)以及中文字符处理(RuneCountInString)等。特别说明了UTF-8编码下处理中文字符的注意事项,并提供了字符串反转的实现示例。这些方法能有效满足日常开发中的字符串处理需求。

qq_41604569的博客 1070

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ruby中对字符串的操作

创建字符串 在Ruby中创建一个字符串有多种方式。可以有两种方式表示一个字符串:用一对单引号包围字符('str')或用一对双引号包围字符("str") 这两种形式的区别在于对于包围的字符串的处理,用双引号构造的字符串能处理更多的转移字符。  除了这两种方式,ruby还支持3种方式去构建字符串:%q、%Q和here documents。  %q后面用一对分界符包围的字符可以构造单引号字符串。 

liwenhjuan的专栏 7292

Java字符串操作

平常工作字符串优化技巧

qq_64272546的博客 1826

VBA 字符串操作

字符串拆与组合 'left,right,mid,Len Sub z1() Dim sr sr = "Excel精英培训网" MsgBox Left(sr, 5) MsgBox Right(sr, 5) MsgBox Mid(sr, 3, 5) MsgBox Left(sr, Len(sr) - 1) End Sub 'split Sub z2() Dim sr, ar...

weixin_42578747的博客 2719

html字符串操作函数,常用的字符串操作

StrFunc----------StrFunc是一个字符串操作的函数库,这个类不能被实例化,它里面定义的全部是静态函数。--------------------------------------------------------------常用方法示例说明:isNull:判断指定字符串是否为空参数说明:@param String 要判断是否为空的字符串@return boolean ...

weixin_30994645的博客 1627

shell字符串操作

1 字符串截取操作 假设有变量 var=http://www.ssjt.com/shy.htm 1.2删除某个子串及其左边的内容 1) # 号截取,从左边开始查找要删除的内容 echo ${var#*//} *// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.ssjt.com/shy.htm 2) ## 号截取,从左边开始查找要删除的内容 echo ${var##*/} ##*/ 表示从左边开始删除最后一个 / 号及左边的所有字符 即删除 http.

盛源的博客 3151

python基础——对字符串的操作

1. 字符串 1.1字符串概念 字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体。字符串支持索引操作。 1.2创建字符串基本语法 变量名 = “字符串信息” 变量名 = ‘字符串信息’ 变量名 = “”“字符串信息”"" 变量名 = ‘’‘字符串信息’’’ 1.3注意事项 字符串定义过程中如出现"匹配问题,使用"进行转义 2. 字符串切片 2.1字符串切片概念 字符串切片指获取字符串...

GC 4662

字符串的各种操作

1、获取字符串长度 ​​​​​​​int strLength = str.Length;

会飞的牛 1890

python——字符串操作

python中关于字符串常见操作

2301_78622258的博客 1046

C++字符串的常用操作

这并不是最理想的算法,但却这是字符串匹配算法中最容易理解的算法,算法核心为给定一个主串T和一个模式串P,求问是否P是属于T的一个字串,如:”Hello”中”llo”就是其中的一个字串,对于暴力匹配算法而言,我们可以利用两层循环进行比对,第一层循环中找寻T字符串中的每一个字符,第二层循环找寻的是每一个P字符,进入第二层循环时T字符串也会跟着进行字符前进,如果发生不匹配则产生一个回溯回到第一层循环的进入字符的下一个字符。输出Welcome Hello。

Dola的博客 1829

PHP 字符串操作

PHP 程序设计之字符串操作

程序员小白的博客 1954
上一篇: socket编程
下一篇: go中的函数
Cc_sec
博客等级 码龄8年 6粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值