`
Abigale_Work
  • 浏览: 5890 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

python 字符串处理

阅读更多
申明:本文从下面网址上摘来,作为学习资料
http://blog.csdn.net/wklken/article/details/6312870

字符串
简介

字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变

通常由单引号(' ),双引号(" ),三引号(''' """)包围

其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。便捷的多行注释

Python实际三类字符串:

1.通常意义字符串(str)
2.原始字符串,以大写R 或 小写r开始,r'',不对特殊字符进行转义
3.Unicode字符串,u'' basestring子类

在 Python 中,字符串是“不可改变的序列”

1.不可变

2.满足序列基本操作,按位置存取,切片及索引

字符串

1.获得帮助:

>>> help(str)
>>> dir(str)
>>> help(str.replace)

2.不可变性

在创建之后就不能就地改变(同java),不能通过对其某一位置进行赋值而改变字符划分为不可变序列,这些字符串所包含的字符存在从左到右的顺序,不可在原处修改。python中字符串相当于一个不可变序列的列表,一旦声明,每个字符位置固定

意味着若想改变,必须新建一个!

>>>s=’spam’
>>>s[0]=’k’   #TypeError
#修改字符串类似java,重新赋值
s = ‘k’ + s[1:]

原始字符串

原始字符串常量,r”abcd”,(r/R)即去掉了反斜线转义机制。关闭转义机制,即\不再表示转义

用处:

1.正则表达式

用于处理正则表达式,减少反斜杠

p4search = re.compile(r'\s*')

2.系统路径

可以方便地表示系统路径

path = r'e:\book'

unicode字符串

Unicode是书写国际文本的标准方法。

Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。例如,u"This is a Unicode string."

BP: 在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。
常用操作

1.基本操作

+   :string1+string2    #联接字符串,将后一个串链接到前一个串的后面
    Python不允许在+表达式中出现其他类型,需要手工转【这点不同于java】‘abc’+str(9)
*   :string*n           #创建一个新字符串重复n次原来的串
[]  :string[n]          #从字符串中获取对应位置的一个字符
[:] :string[n:m]        #截取字符串,如果为:m从头到m如果为n:从n到尾
in  :char in string #判断一个字符是否在串中,如果在返回为真(True)
not in :char not in string #判断一个字符是否不在串中,如果在返回为真(True)
r/R : r/Rstring     #禁止转义字符的实际意义,整个字符为原始意义
len() : 长度len(s)

2.类型转换

    字符串和数字相互转换

字符串到数字int/float/long

数字到字符串str

>>> int(42)
42
>>> int('42')
42
>>> str(42)
'42'
>>> float('42.0')
42.0
>>> str(42.0)
'42.0'

或者使用string模块的函数

s:进行转换的字符串, base:可选,目标进制

import string
string.atoi(s[,base])   #base默认为10,如果为0,那么s就可以是012或0x23这种形式的字符串,如果是16那么s就只能是0x23或0X12这种形式的字符串
   

string.atol(s[,base])       #转成long
   

string.atof(s[,base])       #转成float

    字符串和列表的转换

字符串转列表:

s=’spam’
l = list(s)

l2 = "hello world".spilt()

列表转字符串

k = ‘’.join(l)

注意,不能join列表中的非字符串

3.修改字符串

s =  s + ’a’
s = s[3:] + ‘b’
s = s.replace(‘pl’,’pa’)

a = '' #赋值空

del a  #整个变量删除

4.索引和分片

索引s[i]

s[0]首个

s[-1] = s[len(s)-1] 倒数第一个

分片s[i:j]

不含上边界,s[1:3] 取[1-2]
s[1:]取1到结束   s[:3] 取开始到2
s[:-1]开始到倒数第二个
s[:]开始到结尾,相当于一个复制
s[1:10:2]  取1-9,步长=2
s[a:b:-2] 步长为负数,两个边界意义反转了,表示从b+1到a,步长-2
s=’abcdefg’  
s[5:1:-1] 得到 fedc
s[1:3] == s[slice(1,3)]  内置函数

字符串格式化

这里只介绍基本字符串格式化,扩展在后续篇幅介绍%c 单个字符%d 十进制整数%o 八进制整数%s 字符串%x 十六进制整数,其中字母小写%X 十六进制整数,其中字母大写

>>> str = "so %s a day!"
>>> str % 'beautiful'
'so beautiful a day!'

>>> '{0} is {1}'.format('a','b')
'a is b'

>>> template = "{0}, {1} and {2}"
>>> template.format('a', 'b', 'c')
'a, b and c'

内建函数列表

【字符串方法是python文本处理头号工具】
string.capitalize()

字符串第一个字符大写
string.center(width,[,fill])

原字符居中,空格填充至width长度
string.count(str,beg=0,end=len(string))

获得字符串中某一个子串的数目,计算出现次数,可指定范围
string.decode(encoding=’UTF-8’,errors=’strict’)

解码字符串,出错默认报ValueError,除非errors是ignore或replace
string.encode(encoding=’UTF-8’,errors=’strict’)
string.endswith(suffix,beg=0,end=len(string))

是否以**结尾
string.expandtabs(tabsize=8)

把字符串中tab转为空格,默认8个
string.find(str,beg=0,end=len(stirng))

检测是否包含str,存在返回开始索引,否则返回-1
string.index(str,begin=0,end=len(string))

同find,不存在报异常,ValueError
string.isalnum()

至少一个字符,且所有字符均为字母或数字,True. 检测字符串是否只包含0-9A-Za-z
string.isalpha()

至少一个字符,所有字符都是字母,True. 检测字符串是否只包含字母
string.isdecimal()

只包含十进制数,True
stirng.isdigit()

只包含数字,True. 检测字符串是否仅包含数字
string.islower()

至少一个区分大小写字符且所有字符小写,True. 检测字符串是否均为小写字母
string.isnumeric()

只含数字字符,True
string.isspace()

只包含空格,True. 检测字符串是否均为空白字符
string.istitle()

标题化字符,True. 检测字符串中的单词是否为首字母大写
string.isupper()

至少一个区分大小写字符且所有字符大写,True. 检测字符串是否均为大写字母
string.join(seq)

以string作为分隔符,seq中所有元素合并为新的字符串. 将原字符串插入参数字符串中的每两个字符之间
string.ljust(width)

返回一个原字符串左对齐,空格补充至长度width
string.lower()

转小写. 将字符串全部转为小写
string.lstrip()

截掉左侧的空格
string.partition(str)

= find+split,从str出现第一个位置,截断为pre_str,str,after_str元组,不含str则pre_str=strstring.replace(str1,str2,num=string.count(str1))替换,指定不超过num次,可作为模板实现
string.rfind(str,beg=0,end=len(string))

同find,右边开始
string.rindex(str,beg=0,end=len(string))

同index,右边开始
string.rjust(width)

右对齐,空格补齐
string.rpartition(str)

同partition,右边开始
string.rstrip([chars])

清理右侧空白,包括换行符,返回处理后字符串
string.split(str=””, maxsplit =string.count(str))

以str切片,可指定分割次数, 分割字符串,返回列表,默认分隔符空格
string.splitlines(num=string.count(‘\n’))

s.splitlines([keepends])按行分隔,可指定分割次数
string.startswith(obj,beg=0,end=len(string))

以str开头,True. 检测字符串是否以某一子串开头
string.strip([obj])

在string上执行lstrip和rstrip
string.swapcase

反转string中大小写. 字符串中小写转大写,大写转小写
string.title()

标题花,单词首字母大写,其余小写
string.translate(str,del=””)

s.translate(table)根据str给出表转换string字符,要过滤的字符放在del参数中
string.upper()

转大写. 将字符串全部转为大写
string.zfill(width)

返回长度width的字符串,原字符串右对齐,前面填充0
len(string)

获取字符串的长度
最佳实践

1.循环中用到长度

while i < len(stri):
#修改
size = len(stri)
while i < size

2.字符串追加

l = ['a', 'b']
result = ''
for i in l:
    result += i
#修改
result = ''.join(l)

其他

1.转义符

几个常用:

\n换行,\\反斜杠
\t制表  \'单引号
\r回车 \"双引号

后续需扩展

字符串编码详解
字符串格式化
正则表达式
字符串涉及常用模块(序列化/文本包装等)
分享到:
评论

相关推荐

    python字符串处理实例.docx

    Python 字符串处理实例 Python 中的字符串处理是 Python 编程语言中非常重要的一部分。字符串是 Python 中最基本的数据类型之一,它可以表示文本、数字、符号等。 Python 提供了多种字符串处理方法,本文将对 ...

    python字符串处理实例总结.pdf

    Python 字符串处理实例总结 Python 中的字符串处理是指对字符串进行各种操作和处理的过程。字符串是 Python 中最基本的数据类型之一,字符串可以是用单引号或双引号括起来的任何文本。在 Python 中,字符串可以使用...

    Python字符串处理.md

    Python字符串处理,字符串的查询字符串的统计字符串的分割一刀两段式切割字符串的对齐方式。。。。。

    C语言字符串转换为Python字符串的方法

    C语言字符串转换为Python字符串的方法 C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用...

    Python_字符串处理.txt

    ### Python字符串处理知识点详解 #### 一、去除空格及特殊符号 在处理字符串时,经常需要去除字符串两端的空格或特定字符。Python提供了多种方法来实现这一功能。 - **`strip()`**: 去除字符串两端的所有空白字符...

    python实现字符串模糊匹配

    Python 是一种流行的编程语言,具有强大的字符串处理能力。字符串模糊匹配是字符串处理中的一种重要技术,用于解决字符串之间的相似度计算问题。在本文中,我们将介绍 Python 实现字符串模糊匹配的方法。 编辑距离...

    python常见字符串处理函数与用法汇总

    Python字符串处理是编程中常见的任务,它涉及到对文本数据的操作,包括查找、连接、替换和分割等。在Python中,有多种内置函数可以帮助我们高效地完成这些任务。下面我们将详细探讨`find`、`join`、`replace`以及`...

    python字符串处理去掉符号加空格

    在Python编程语言中,字符串处理是一项常见的任务,特别是在数据清洗、文本分析或用户输入处理时。本主题将详细探讨如何去除字符串中的特殊符号、多余空格以及首尾空格,并在中文与英文之间添加空格。 1. 去掉特殊...

    python源码字符串处理技术

    在这个过程中,了解Python字符串处理技术的深入应用对于实现功能至关重要。掌握这些技能不仅对于进行字符串的日常处理有帮助,而且在数据处理、网络编程、文件操作等多个领域也都是不可或缺的。 总结起来,Python...

    python字符串学习笔记.python字符串操作方法.doc

    Python字符串是编程中常用的数据类型,用于存储和处理文本信息。在Python中,字符串是由一个或多个字符组成的序列,它们可以被单引号(' ')或双引号(" ")包围。以下是一些关于Python字符串的重要知识点: 1. **字符...

    Python内置的字符串处理函数

    Python内置的字符串处理函Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。

    Python字符串处理实例详解

    在Python编程中,字符串处理是一...以上就是关于Python字符串处理的一些实例详解,包括了如何处理含有多种分隔符的字符串以及如何调整字符串的文本格式。这些技巧在日常编程中非常实用,有助于提高代码的效率和可读性。

    python 字符串.zip

    在实际开发中,字符串处理是非常常见的任务,如处理用户输入、生成报告、解析文本数据等。f-string和内置方法的灵活运用能极大地提高代码的可读性和效率。例如,在处理用户输入的姓名并输出欢迎消息时: ```python ...

    Python字符串处理实现单词反转

    Python字符串处理学习中,有一道简单但很经典的题目,按照单词对字符串进行反转,并对原始空格进行保留: 如:‘ I love China! ‘ 转化为:‘ China! love I ‘ 两种解决方案: 方案1:从前往后对字符串进行...

    python字符串操作.pdf

    在给定的文件内容中,我们可以看到有关Python字符串操作的知识点。这些操作涉及到C语言风格的字符串函数模拟,但它们实际上并不是Python原生的字符串操作方法。Python语言本身就拥有强大的字符串处理能力,不过,...

    Python语言基础:字符串常用方法.pptx

    这些方法是Python字符串处理的基础,理解并熟练运用它们可以极大地提高编写程序的效率。在实际编程中,可以根据需求灵活运用这些方法,例如在数据分析、文本处理、日志分析等场景下,它们都发挥着重要的作用。通过...

    python字符串批量替换、修改多个字符的代码片段.zip

    在Python编程中,字符串处理是一项基础且重要的任务。在某些场景下,我们可能需要批量替换或修改字符串中的多个字符。...通过阅读和运行这段代码,你可以加深对Python字符串处理的理解,掌握批量替换字符串字符的方法。

Global site tag (gtag.js) - Google Analytics