Python学习:字符串(string)

字符串是Python的有序集合,序列中包含了一个从左到右的顺序——序列中的元素根据它们的相对位置进行存储和读取。

字符串的操作:

>>>S = ‘Spam‘
>>>S[0]        #读取第0个字符
‘S’
>>>len(S)      #字符串的长度
4
>>>S[4]        读取第4个字符,越界访问报错
IndexError: string index out of range
>>>S[1:3]
‘pa‘

反向访问:

>>>S[-1]
‘m‘
>>>S[:-1]
‘Spa‘
>>>S[:]
‘Spam‘
>>>print S[-3:-1]
‘pa‘

作为一个序列,字符串也支持使用家好进行合并:

>>>S = ‘Spam‘
>>>print(S+‘xyz‘)
‘Spamxyz‘
>>>S*4
‘SpamSpamSpamSpam‘
>>>print [S]*4
[‘Spam‘, ‘Spam‘, ‘Spam‘, ‘Spam‘]

不可变性:

>>>S[0] = ‘s‘
TypeError: ‘str‘ object does not support item assignment
>>>S = ‘z‘ + S[1:]
‘zpam‘

字符串的特定方法:

#查找字符串出现首次的位置,若没找到,返回-1
>>>S.find(‘pa‘)        
1
>>>S = ‘Spampa‘
#replace全局搜索并替代,返回新的字符串
>>>print S.replace(‘pa‘, ‘xyz‘)        
‘Sxyzmxyz‘
#replace不会修改原始的字符串
>>>S
‘Spampa‘

#分隔符将字符串拆分成子串
>>>line = ‘aaa,bbb,ccc,ddd‘
>>>line.split(‘,‘)
[‘aaa‘, ‘bbb‘, ‘ccc‘, ‘ddd‘]

#大小写变换
>>>line.upper()
‘AAA,BBB,CCC,DDD‘
#判断是否全是字母
>>>line.isalpha()
False

#去除行末的字符
>>>line = ‘aaa,bb  b,ccc  ,ddd\n‘
>>>line.rstrip()
‘aaa,bb  b,ccc  ,ddd‘
>>>line = ‘8888aaa,bbbb,888888‘
>>>line.rstrip(‘8‘)
8888aaa,bbbb,

字符串的格式化高级替代操作,可以以一个表达式的形式和一个字符串方法调用形式使用:

>>>print(‘%s,eggs,and %s%d‘%(‘spam‘,‘SPAM‘,10))
spam,eggs,and SPAM
>>>print(‘{0}, eggs, and {1}‘.format(‘spam‘, ‘SPAM!‘))
spam, eggs, and SPAM!

寻求帮助dir()和help()

>>>dir(S)
[‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__getitem__‘, ‘__getnewargs__‘, ‘__getslice__‘, ‘__gt__‘, ‘__hash__‘, ‘__init__‘, ‘__le__‘, ‘__len__‘, ‘__lt__‘, ‘__mod__‘, ‘__mul__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__rmod__‘, ‘__rmul__‘, ‘__setattr__‘, ‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘, ‘_formatter_field_name_split‘, ‘_formatter_parser‘, ‘capitalize‘, ‘center‘, ‘count‘, ‘decode‘, ‘encode‘, ‘endswith‘, ‘expandtabs‘, ‘find‘, ‘format‘, ‘index‘, ‘isalnum‘, ‘isalpha‘, ‘isdigit‘, ‘islower‘, ‘isspace‘, ‘istitle‘, ‘isupper‘, ‘join‘, ‘ljust‘, ‘lower‘, ‘lstrip‘, ‘partition‘, ‘replace‘, ‘rfind‘, ‘rindex‘, ‘rjust‘, ‘rpartition‘, ‘rsplit‘, ‘rstrip‘, ‘split‘, ‘splitlines‘, ‘startswith‘, ‘strip‘, ‘swapcase‘, ‘title‘, ‘translate‘, ‘upper‘, ‘zfill‘]

dir函数简单的给出了方法的名称。要查询具体方法的具体用法,可以将方法传递给help():

>>>help(s.replace)
replace(...)
    S.replace(old, new[, count]) -> string

    Return a copy of string S with all occurrences of substring
    old replaced by new.  If the optional argument count is
    given, only the first count occurrences are replaced.

编写字符串的其他方法:

三个引号(单引号 或者 双引号):将所有行都合并在一起,并在每一行的末尾增加换行符。

>>>msg = """aaaaaaaaaaa
bbb‘‘‘5555555555""88888888‘2222
99999999999999"""
>>>msg
aaaaaaaaaaa
bbb‘‘‘5555555555""88888888‘2222
99999999999999

Python也支持原始的字符串常量(raw),即去掉反斜线的转义机制:

>>>msg = "abcd\nhhhhhh"
abcd
hhhhhh
>>>msg = r"abcd\nhhhhhh"
abcd\nhhhhhh

Python还支持Unicode字符串形式从而支持国际化。

模式匹配:

需要导入re模块。这个模块包含了类似搜索、分割和替换等调用。

>>>import re
>>>match = re.match(‘hello[\t]*(.*)world‘, ‘hello  Python world‘)
>>>match.group(1)
‘  Python‘
时间: 2024-11-08 22:33:12

Python学习:字符串(string)的相关文章

python学习---字符串

单引号,双引号,三引号,原型字符串几种形式 1.创建字符串:单引号,双引号,str()几种创建方式 2.访问子串:切片方式 3.修改或者说更新字符串:“+”运算,给字符串内容增加一个长度的字符串:重新赋值方式: 4.删除子串:切片做“+”运算(aString = aString[:3] + aString[4:]),del语句删除字符串,或者给字符串赋值空(“”) 5.对字符串应用成员操作符in或者 not in 返回True 或者False 6.编译时字符串连接,上面的语法在运行时字符串连接的

Python学习之String模块详解

本文和大家分享的主要是python 中String 模块相关内容,一起来看看吧,希望对大家 学习python有所帮助. String 模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作. 1. 常用方法 str.capitalize() 把字符串的首字母大写 str.center(width) 将原字符串用空格填充成一个长度为 width 的字符串,原字符串内容居中 str.count(s) 返回字符串 s 在 str 中出现的次数 str.decode(encoding='

Python学习-字符串格式化

Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei',

Python学习—字符串练习

Python字符串练习 输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开.如输入: This is a c++ program. 输出:There are 5 words in the line. [考核知识点:字符串操作]代码: s=input("请输入一行句子:") list = s.split(' ') print("There are %d words in the line." %len(list)) 运行结果: 另外考虑到有时候手抖多敲了空格

Python学习--字符串slicing

Found this great table at http://wiki.python.org/moin/MovingToPythonFromOtherLanguages Python indexes and slices for a six-element list. Indexes enumerate the elements, slices enumerate the spaces between the elements. Index from rear: -6 -5 -4 -3 -2

Python从零开始——字符串String

一:Python字符串有哪些内容 二:Python字符串操作符 三:Python字符串格式化——占位符格式化 四:Python字符串格式化——format()函数 五:Python字符串常用操作函数 原文地址:https://www.cnblogs.com/ygj0930/p/10960581.html

python学习—字符串

字符串拼接 s1="python" s2="hello" 1.+号 s3=s1+s2 2.join方法 obj.join() j=" " s4= j.join((s1,s2))  ---链接顺序:s1 j s2 字符串格式化输出 1.format name=input("输入名字:") a1="今天收到{},交来{},金额{}".format(name, "学费", 666) {:.3f

Python学习-字符串函数操作1

字符串的函数操作 capitalize():可以将字符串首字母变为大写 返回值:首字符大写后的新字符串 str = "liu" print(str.capitalize()); // Liu print(str); // liu lower():可以将字符串每个字符都变为小写 casefold():作用于lower() 相同,不同点是比它的功能更全面,可以将一些未知的变为小写 返回值:全部变为小写后的新字符串 str = "LIU" print(str.lower(

Python学习-字符串函数操作2

字符串函数操作 find( sub, start=None, end=None):从左到右开始查找目标子序列,找到了结束查找返回下标值,没找到返回 -1 sub:需要查找的字符串 start=None:开始查找的起始位置,默认起始的位置为可以省略(0) end=None:结束查找的位置,可以省略,默认为字符串的总长度len(str) str = 'liiuwen' m = str.find('i') n = str.find('i',4); print(m); // 1 print(n); //

Python学习-字符串函数操作3

字符串函数操作 isprintable():判断一个字符串中所有字符是否都是可打印字符的. 与isspace()函数很相似 如果字符串中的所有字符都是可打印的字符或字符串为空返回 True,否则返回 False str1 = 'gheruiv'; str2 = '\n\t'; print(str1.isprintable()); //True print(str2.isprintable()); //False istitle():判断一个字符串中所有单词的首字母是不是大写 返回值为布尔类型,T