# 字符串

# 1. C/C++

# 1. string

string str;

# operator+

用于拼接字符串

# operator+=

用于在末尾添加元素

# operator==

用于判断字符串是否相等

# operator

用于判断字符串1字符串2

# operator<

用于判断字符串1 < 字符串2

# size() or lenth()

返回字符串的字符数量

# resize()

更改字符串预留大小(可直接使用)

# capacity()

返回字符串预留内存大小

# reserve()

更改字符串预留内存大小(不可直接使用)

# empty()

返回字符串是否为空,空返回true,反之返回false

# clear()

清空字符串

# operator[]

访问字符串里的字符

# at()

访问字符串里的字符,进行越界检查 对于安全性而言,应该使用at(),效率而言,应该使用[]

# append(const string& str)

# append(const char * str)

在末尾添加元素,一般添加元素都是使用操作符+

string name = "1";
str.append(name);//在str的末尾添加"1"
str.append('c');//在str的末尾添加'c'

# push_back(char c)

在末尾添加元素

str.push_back('c');//在str的末尾添加'c'

# begin()

返回指向字符串首元素的迭代器

# end()

返回指向字符串末元素后的迭代器

# rbegin()

返回指向字符串末元素的迭代器

# rend()

返回指向字符串首元素前的迭代器

# erase()

将范围中的元素删除

// erase(iter_begin,iter_end) // 删除区间[iter_begin,iter_end)里的元素
// erase(unsigned int pos,unsigned int len) // 删除从pos开始的len个元素
// erase(iter_where) // 删除iter_where指向的元素
 str.erase(str.begin(),str.end());//删除所有元素
 str.erase(0,1);//删除首元素
 str.erase(str.begin());//删除首元素

# insert()

将char 或者 string 插入到string中

// insert(unsigned int pos,const string& str) // 在pos的位置插入str
// insert(unsigned int pos,const string& str,unsigned int subpos, unsigned int sublen) // 在pos的位置插入str的子串,从str的subpos开始,长度为sublen
// insert(unsigned int pos,const char * str) // 在pos的位置插入str的子串,从str的subpos开始,长度为sublen
// insert(iter_where, char ch) // 在iter_where指向的位置插入ch
// insert(iter_where, other_iter_begin,other_iter_end) // 在iter_where指向的位置插入other的区间[iter_bein,iter_end)
string name = "123";
str.insert(0,name);//在0的位置插入"123"
str.insert(0,name,0,2);//在0的位置插入"12"
str.insert(0,"123");//在0的位置插入"123"
str.insert(str.begin(),name.begin(),name.end());//在str的首元素插入"123"

# substr(unsigned int pos, unsigned int len)

从pos的位置开始截取长度为len的子串

# data() or c_str()

返回const char* 字符数组

# 2. Java

# 1. String

在Java中,String是一个固定的char数组,里面的元素只能通过接口来改变

String str = new String();

# length()

返回字符串的字符数量

# 操作符+

用于拼接字符串

# equals(string)

用于判断两个字符串是否相等

# concat(String)

用于拼接字符串

# charAt(int index)

由于Java没有像C/C++那样的[]访问方式,访问String时使用charAt

# substring(int beginIndex)

# substring(int beginIndex, int endIndex)

返回从beginIndex到结束的子串 返回从beginIndex开始到endIndex结束的子串

# toCharArray()

返回字符数组

# 2.StringBuilder

用于构建字符串, String所有的函数,基本上都可以在这里使用

StringBuilder str = new StringBuilder(10); // 创建一个有10个空间的容器

# append()

append(String str) 向字符串末尾添加str

# delete()

delete(int start, int end) 将范围中的字符删除

# reverse()

将字符串反转

# insert()

将char 或者 String 插入到字符中

// insert(int begin, int ch) // 将ch插入到begin的位置
// insert(int begin, String str) // 将str插入到begin的位置

# charAt()

charAt(int index)
// 访问index的字符

# setChatAt()

setChatAt(int index, char ch) 设置index的字符

# length()

字符串长度

# toString()

转化为String类型

# 3. Python

和Java类似,Python的字符串不允许直接修改字符串的值

# 1. str()

strs = str()
strs = ""
strs = ''

# 操作符+

用于拼接字符串

# 操作符[]

用于获取索引对应的值(只是获取)

# 操作符in

字面意思《在》

'c' in "12c"#表达式的值为true
for i in "1234":
#依次访问1234

# count(str,begin=0,end=len(string))

返回str在string出现的次数

#示例
str = "123123"
str.count("123")#值为2

# len()

返回字符串的字符数量

# join(str)

返回将str以string为分隔符构成的字符串

#示例
s1 = ""
s2 = ""
l = ["1","2","3"]
s1.join(l)#"123"
s2.join(l)#"123"

# max()

返回字符串中字典序最大的字符

# min()

返回字符串中字典序最小的字符

# islower()

返回字符串中是否都是小写字母

# isupper()

返回字符串中是否都是大写字母

# isnumeric() or isdigit()

返回字符串中是否都是数字

# isalnum()

返回字符串中是否都是数字和字母

# isalpha()

返回字符串中是否都是字母或中文

# split(str="",num=string.count(str))

以str分隔字符串,分隔num次,返回一个列表

# startswith(substr,begin=0,end=len(string))

在区间[begin,end]中检查是否是以sub开头