char
定义
|
|
长度计算
- strlen:strlen函数只计算可见的字符,从字符串开头到第一个终止符为止
- sizeof:计算整个数组长度
字符串比较
strcmp(st1,st2)
比较2个字符串,设这两个字符串为str1,str2:
- 若str1==str2,则返回零;
- 若str1 > str2,则返回正数;
- 若str1< str2,则返回负数。
- ==,>,<,是通过比较对应位置字符的ASCII码大小实现。
strncmp(st1,st2,n)
把st1,st2的前n个进行比较。
附加
|
|
替换
|
|
查找
|
|
string
string是C++标准库的一个重要的部分,想使用string首先要在头文件当中加入< string > 。
初始化
|
|
子串
|
|
注意substr没有迭代器作为参数的操作
插入
insert()
|
|
删除
erase()
|
|
拼接
+=
|
|
append
|
|
替换(replace())
支持整数寻址或迭代器
赋值
assign,可使用整数与迭代器寻址
|
|
搜索
find
find函数主要是查找一个字符串是否在调用的字符串中出现过,查找成功时返回所在位置,失败返回string::npos的值。rfind作用与find类似,但是rfind为从后往前查找。
find_….of函数:
- find_first_of(args) 查找args中任何一个字符第一次出现的位置
- find_last_of(args) 最后一个出现的位置
- find_fist_not_of(args) 查找第一个不在args中的字符
- find_last_not_of 查找最后一个不在args中出现的字符
比较
compare函数类似strcmp函数,如果两个字符串相等,那么返回0,调用对象大于参数返回1,小于返回-1。
也可直接使用 >,<,== 进行比较。
数值转换
函数 | 效果 |
---|---|
to_string(val) | 把val转换成string |
stoi(s,p,b) | 把字符串s从p开始转换成b进制的int |
stol(s,p,b) | long |
stoul(s,p,b) | unsigned long |
stoll(s,p,b) | long long |
stoull(s,p,b) | unsigned long long |
stof(s,p) | float |
stod(s,p) | double |
stold(s,p) | long double |
python
明确:对字符串的操作方法都不会改变原来字符串的值
- 去掉空格和特殊符号
|
|
- 字符串的搜索和替换
|
|
字符串的测试和替换函数
123456789101112S.startswith(prefix[,start[,end]])#是否以prefix开头S.endswith(suffix[,start[,end]])#以suffix结尾S.isalnum()#是否全是字母和数字,并至少有一个字符S.isalpha() #是否全是字母,并至少有一个字符S.isdigit() #是否全是数字,并至少有一个字符S.isspace() #是否全是空白字符,并至少有一个字符S.islower() #S中的字母是否全是小写S.isupper() #S中的字母是否便是大写S.istitle() #S是否是首字母大写的字符串的分割
12name.split() #默认是按照空格分割name.split(',') #按照逗号分割连接字符串
1','.join(slit) #用逗号连接slit 变成一个字符串,slit 可以是字符,列表,字典(可迭代的对象)int 类型不能被连接