字符串
Posted 板岩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关的知识,希望对你有一定的参考价值。
字符串
在需要在字符中使用特殊字符时,python用反斜杠(\\)转义字符。如下表:
原始字符串
有时我们并不想让转义字符生效,我们只想显示字符串原来的意思,这就要用r和R来定义原始字符串。如:
print r\'\\t\\r\'
实际输出为“\\t\\r”。
转义字符 |
描述 |
\\(在行尾时) |
续行符 |
\\\\ |
反斜杠符号 |
\\\' |
单引号 |
\\" |
双引号 |
\\a |
响铃 |
\\b |
退格(Backspace) |
\\e |
转义 |
\\000 |
空 |
\\n |
换行 |
\\v |
纵向制表符 |
\\t |
横向制表符 |
\\r |
回车 |
\\f |
换页 |
\\oyy |
八进制数yy代表的字符,例如:\\o12代表换行 |
\\xyy |
十进制数yy代表的字符,例如:\\x0a代表换行 |
\\other |
其它的字符以普通格式输出 |
字符串格式化符号
使用操作符“%"来实现
%左边放置了一个待格式化的字符串,右边放置的是希望格式化的值。格式化的值可以是一个字符串或数字。
格式化符号 |
说明 |
%c |
转换成字符(ASCII 码值,或者长度为一的字符串) |
%r |
优先用repr()函数进行字符串转换 |
%s |
优先用str()函数进行字符串转换 |
%d / %i |
转成有符号十进制数 |
%u |
转成无符号十进制数 |
%o |
转成无符号八进制数 |
%x / %X |
转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写) |
%e / %E |
转成科学计数法(e / E控制输出e / E) |
%f / %F |
转成浮点数(小数部分自然截断) |
%g / %G |
%e和%f / %E和%F 的简写 |
%% |
输出% (格式化字符串里面包括百分号,那么必须使用%%) |
这里列出的格式化符合都比较简单,唯一想要强调一下的就是"%s"和"%r"的差别。
看个简单的代码:
>>> print ("%s" %string)
hello will
>>> string=\'hello\\twill\\n\'
>>> print ("%s" %string)
hello will
>>> print ("%r" %string)
\'hello\\twill\\n\'
这里的差异是str()和repr()两个内建函数之间的差异:
- str()得到的字符串是面向用户的,具有较好的可读性
- repr()得到的字符串是面向机器的
- 通常(不是所有)repr()得到的效果是:obj == eval(repr(obj))
字符串的方法
- find str.find() 用于检测字符串中是否包含子字符串str,返回结果为子串锁在位置的最左端索引,如果没有找到,就返回-1
- join str.join() 用于将序列中的元素以指定字符链接成一个新字符串
- lower str.lower() 用于将字符串中所有大写字符转换成小写字符
- upper str.upper() 用于将字符串中所有小写字符转换成大写字符
- swapcase str.swapcase() 用于对字符串的大小写字母进行转换,大写转换成小写,小写转换成大写。
- replace str.replace(od,new[,max]) 用于把字符串中的旧字符串替换成新字符串,如果指定第三个参数max,替换次数就不超过max次。
- split str.split(st=\'\',num=string.count(str)) 通过指定分隔符对字符串进行切片,如果参数num有指定值,就只分隔num个子字符串。
- strip str.strip([chars]) 用于移除字符串头尾指定的字符(默认为空格)。
- translate str.translate(table[,deletechars]) 根据参数table给出的表(包含256个字符)转换字符串的字符,将要过滤掉的字符放在del参数中。
例子:Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
语法
maketrans()方法语法:
str.maketrans(intab, outtab)
参数
- intab -- 字符串中要替代的字符组成的字符串。
- outtab -- 相应的映射字符的字符串。
返回值
返回字符串转换后生成的新字符串。
实例
以下实例展示了使用maketrans() 方法将所有元音字母转换为指定的数字:
#!/usr/bin/python # -*- coding: UTF-8 -*- from string import maketrans # 必须调用 maketrans 函数。 intab = "aeiou" outtab = "12345" trantab = maketrans(intab, outtab) str = "this is string example....wow!!!"; print str.translate(trantab);
以上实例输出结果如下:
th3s 3s str3ng 2x1mpl2....w4w!!!
以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章