Go中常用包笔记 字符串strings(四)

Package strings

此包和bytes包十分类似,除了没有bytes.Buffer,func Equal(a, b []byte) bool ,func Runes(s []byte) []rune,以外,bytes包含的方法strings都含有,只不过各方法其中一个参数有[]byte变为string而已.但是有个独特的type Replacer

func NewReplacer(oldnew ...string) *Replacer //构造函数,不定参数,参数格式为old1,new1,old2,new2,old3,new3......表示old1会被替换为new1,old2会被替换为new2...

func (r *Replacer) Replace(s string) string //进行替换 返回新的字符串

func (r *Replacer) WriteString(w io.Writer, s string) (n int, err error) //替换后并写入io.Writer

其他和bytes包类似功能的方法:

字符串和字符串的关系(逐字节比较,相等,相似,包含,出现的位置,包含次数,是否是前缀后缀)

func Compare(a, b string) int

func EqualFold(s, t string) bool

func Contains(s, substr string) bool

func Index(s, sep string) int

func LastIndex(s, sep string) int

func Count(s, sep string) int

func HasPrefix(s, prefix string) bool

func HasSuffix(s, suffix string) bool

字符串和字符串的关系(是否包含串里任何一个rune以及在字符串中的位置)

func ContainsAny(s, chars string) bool

func IndexAny(s, chars string) int

func LastIndexAny(s, chars string) int

字符串和rune的关系(包含,转换)

func ContainsRune(s string, r rune) bool

func IndexFunc(s string, f func(rune) bool) int

func IndexRune(s string, r rune) int

func LastIndexFunc(s string, f func(rune) bool) int

字符数组和字节的关系(位置,)

func IndexByte(s string, c byte) int

func LastIndexByte(s string, c byte) int

操作字符串(使用空格或者符合条件的rune分割分组,将分组连接成字符串,分割,大小写转换,修剪两端,按规则修改包含的每个rune,重复,替换)

func Fields(s string) []string

func FieldsFunc(s string, f func(rune) bool) []string

func Join(a []string, sep string) string

func Split(s, sep string) []string

func SplitAfter(s, sep string) []string

func SplitAfterN(s, sep string, n int) []string

func SplitN(s, sep string, n int) []string

func Title(s string) string

func ToLower(s string) string

func ToLowerSpecial(c unicode.SpecialCase, s string) string

func ToTitle(s string) string

func ToTitleSpecial(c unicode.SpecialCase, s string) string

func ToUpper(s string) string

func ToUpperSpecial(c unicode.SpecialCase, s string) string

func Trim(s string, cutset string) string

func TrimFunc(s string, f func(rune) bool) string

func TrimLeft(s string, cutset string) string

func TrimLeftFunc(s string, f func(rune) bool) string

func TrimPrefix(s, prefix string) string

func TrimRight(s string, cutset string) string

func TrimRightFunc(s string, f func(rune) bool) string

func TrimSpace(s string) string

func TrimSuffix(s, suffix string) string

func Map(mapping func(rune) rune, s string) string

func Repeat(s string, count int) string

func Replace(s, old, new string, n int) string

type Reader

func NewReader(s string) *Reader

func (r *Reader) Len() int

func (r *Reader) Read(b []byte) (n int, err error)

func (r *Reader) ReadAt(b []byte, off int64) (n int, err error)

func (r *Reader) ReadByte() (byte, error)

func (r *Reader) ReadRune() (ch rune, size int, err error)

func (r *Reader) Reset(s string)

func (r *Reader) Seek(offset int64, whence int) (int64, error)

func (r *Reader) Size() int64

func (r *Reader) UnreadByte() error

func (r *Reader) UnreadRune() error

func (r *Reader) WriteTo(w io.Writer) (n int64, err error)

时间: 2024-10-16 23:12:25

Go中常用包笔记 字符串strings(四)的相关文章

GO中常用包笔记 bytes(四)

Package bytes 对字节数组进行操作的包.功能和strings包相似. bytes包提供的功能有: 和另一个字节数组切片的关系(逐字节比较大小,是否相等/相似,是否包含/包含次数,位置搜索,是否是前缀后缀) 2.字节数组切片和字符串的关系(字符串中是否含有字节数组所包含的rune,以及在字符串中的位置) 3.字节数组切片和rune的关系(字节数组中是否含有特定的或满足特定条件的rune,以及在字节数组中的位置) 4.字节数组切片和字节的关系(包含/位置) 5.分割分组,分组连结 6.大

Go中常用包笔记 bufio:带缓冲的IO操作/SCANNER(二)

Package bufio 提供可缓存的IO访问   Scanner:    func NewScanner(r io.Reader) *Scanner //构造函数    func (s *Scanner) Buffer(buf []byte, max int) //指定使用的缓冲区    func (s *Scanner) Split(split SplitFunc) //设定切割函数 使用四个切割器    func (s *Scanner) Scan() bool  //扫描    fun

Go中常用包笔记 内置builtin(一)

Package builtin 定义了Go的一些预定义的符号.这些符号不需要引用任何包就可以使用. func append(slice []Type, elems ...Type) []Type 给数组切片追加元素,"泛型" func cap(v Type) int 数组,数组指针的元素数量:切片的最大容量:channel的缓冲区大小 func close(c chan<- Type) 关闭channel(只应该由channel的发送方关闭,不能对只能接收的单向channel使用

python中常用的一些字符串

capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) return sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选. encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码. endswith

简析项目中常用的七参数转换法和四参数转换法以及涉及到的基本测量学知识

1.背景 在了解这两种转换方法时,我们有必要先了解一些与此相关的基本知识.我们有三种常用的方式来表示空间坐标,分别是:经纬度和高层.平面坐标和高层以及空间直角坐标. 2.经纬度坐标系(大地坐标系) 这里我首先要强调:天文坐标表示的经纬度和大地坐标系表示的经纬度是不同的.所以,同一个经纬度数值,在BJ54和WGS84下表示的是不同的位置,而以下我说的经纬度均指大地坐标系下的经纬度.大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系.下面我跟大家大致谈谈其中涉及到的两个重要概念. 2.1大地

linux中常用时间和字符串之间相互转化

在Linux中经常会遇到时间和字符串相互转化的情形,有两个函数专门对应相应的转化. 1.时间转字符串函数strftime 函数原型:size_t strftime(char *s,size_t maxsize,char *format,conststruct tm *timeptr) strftime函数对timeptr指向的tm结构所代表的时间和日期进行格式编排,其结果放在字符串s中.该字符串的长度被设置为(最少)maxsize个字符.格式字符串format用来对写入字符串的字符进行控制,它包

php中常用的处理字符串的函数

1.将字符串转换为数组的函数:str_split() array str_split ( string $string [, int $split_length = 1 ] ) string:输入字符串. split_length:每一段的长度. 例子: $biuuu = 'baidu'; print_r(str_split($biuuu)) ; 输出结果为: Array ( [0] => b [1] => a [2] => i [3] => d [4] => u ) 2.将

python中常用的处理字符串的方法

1. find() 查看子序列的首个索引,没有则返回-1 name = 'aabcdbefg' c = name.find('b') print(c) 2 2.join() join函数将字符串中的每一个元素按照指定的分隔符进行分割 name = 'bbuandbbc' c = '_'.join(name) print(c) # name = 123456 # c = ' '.join(name) # print(c)# TypeError: can only join an iterable必

JDK库rt包中常用包说明

java.lang:语言包 java.util:实用包 java.awt:抽象窗口工具包 javax.swing:轻量级的窗口工具包,这是目前使用最广泛的GUI程序设计包 java.io:输入输出包 java.net:网络函数包 java.applet:编制applet用到的包(目前编制applet程序时,更多的是使用swing中的JApplet类). 详细说明 java.lang:语言包 这是Java语言的核心包,系统自动将这个包引入到用户程序,该包中主要类有: object类:它是所有类的父