Python字符串处理的8招秘籍(小结)

Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强大、使用非常方便。今天我就把字符串处理时用到最多的方法总结分享给大家,希望大家可以轻松应对字符串处理。

1.字符串的切片和相乘

(1)切片

str='Monday is a busy day'
print(str[0:7]) #表示取第一个到第七个的字符串
print(str[-3:]) #表示取从倒数第三个字符开始到结尾的字符串
print(str[::])  #复制字符串

(2)相乘

当我们编写Python代码时要分隔符,此时用字符串的乘法操作就很容易实现。

line='*'*30
print(line)
>>******************************

2.字符串的分割

(1)普通的分割,用split函数,但是split只能做非常简单的分割,而且不支持多个分隔。

phone='400-800-800-1234'
print(phone.split('-'))
>>['400', '800', '800', '1234']

(2)复杂的分割,r表示不转义,分隔符可以是「;」,或者「,」,或者空格后面跟0个多个额外的空格,然后按照这个模式去分割。

line='hello world; python, I ,like,  it'
import re
print(re.split(r'[;,s]\s*',line))
>>>['hello world', 'python', 'I ', 'like', 'it']

3.字符串的连接和合并

(1)连接,两个字符可以很方便的通过“+”连接起来

str1='Hello'
str2='World'
new_str=str1+str2
print(new_str)
>>>HelloWorld

(2)合并,用join方法

url=['www','python','org']
print('.'.join(url))
>>>www.python.org

4.判断字符串是否以指定前缀、后缀结尾

假设我们要查一个文件的名字是以什么开头或者什么结尾?

filename='trace.h'
print(filename.endswith('h'))
>>True
print(filename.startswith('trace'))
>>True

5.字符串的查找和匹配

(1)一般查找

利用find方法可以很方便的在长的字符串里面查找子字符串,会返回字符串所在位置的索引,若找不到返回-1

str1 = "this is string example....wow!!!"
str2 = "exam"
print(str1.find(str2))   # 15
print(str1.find(str2, 10)) # 15
print(str1.find(str2, 40)) # -1

(2)复杂的匹配,就需要用到正则表达式。

mydate='11/27/2016'
import re
if re.match(r'\d+/\d+/\d+',mydate):
  print('ok.match')
else:
  print('not match') 

>>>ok.match

6.统计字符串里某个字符出现的次数

str = "thing example....wow!!!"
print(str.count('i', 0, 5)) # 1
print(str.count('e')) # 2

7.字符串的替换

(1)普通的替换,用replace方法就可以了

text='python is an easy to learn,powerful programming language.'
print(text.replace('learn','study'))
>>>python is an easy to study,powerful programming language.

(2)复杂的替换,需要用到re模块的sub函数

students='Boy 103,girl 105'
import re
print(re.sub(r'\d+','100',students))
>>>Boy 100,girl 100

8.去掉字符串中一些特定的字符

(1)去空格,对文本处理的时候比如从文件中读取一行,然后需要去除每一行的空格、table或者是换行符。

str = ' python str '
print(str)
# 去首尾空格
print(str.strip())
# 去左侧空格
print(str.lstrip())
# 去右侧空格
print(str.rstrip())

(2)复杂的文本清理,可以利用str.translate。

比如先构建一个转换表,table是一个翻译表,表示把“to”转成大写的“TO”,然后在old_str里面去掉‘12345',然后剩下的字符串再经过table翻译。

instr = 'to'
outstr = 'TO'
old_str = 'Hello world , welcome to use Python. 123456'
remove = '12345'
table = str.maketrans(instr,outstr,remove)
new_str = old_str.translate(table)
print(new_str)
>>>HellO wOrld , welcOme TO use PyThOn. 6

总结

平时我们使用Python都是处理一些脚本,其中使用频率最大的就是字符串的处理方面,因此给大家整理了这些常用的字符串处理时使用的方法,希望对大家有用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python数据清洗系列之字符串处理详解

    前言 数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节.有人说一个分析项目80%的时间都是在清洗数据,这听起来有些匪夷所思,但在实际的工作中确实如此.数据清洗的目的有两个,第一是通过清洗让数据可用.第二是让数据变的更适合进行后续的分析工作.换句话说就是有"脏"数据要洗,干净的数据也要洗. 在数据分析中,特别是文本分析中,字符处理需要耗费极大的精力,因而了解字符处理对于数据分析而言,也是一项很重要的能力. 字符串处理方法 首先我们先了解下都有哪些基础方

  • 关于Python中空格字符串处理的技巧总结

    前言 大家应该都知道字符串处理,是任何语言最常用到的. 其中就经常会碰到,对字符串中的空格处理,比如:去除前后空格,去除全部空格,或者以空格为分隔符来处理. 好在Python中字符串有很多方法,比如lstrip() ,  rstrip() ,  strip()来去除字符串前后空格,借助split()对字符来分隔: 实在不行,还可以借助于re模块的sub函数来替换. 下面列举下,各种情况下的处理技巧,通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,话不多说了,来一起看看详细的介绍吧. [

  • Python不规范的日期字符串处理类

    我分析了形如19920203.199203.1992.02.03.1992.02.1992-02-03.1992-02.920203时间格式特征,列出了正则表达式如下: 复制代码 代码如下: ^((?:19|20)?\d{2})[-.]?((?:[0-1]?|1)[0-9])[-.]?((?:[0-3]?|[1-3])[0-9])?$ 当然这个表达式还不是很完善,只能做简单的切割,不能判断日期的合法性,关于日期是否合法,我还是交给Python的时间功能来处理吧. 根据上面的正则表达式,我写的Da

  • 教大家玩转Python字符串处理的七种技巧

    前言 日常使用python经常要对文本进行处理,无论是爬虫的数据解析,还是大数据的文本清洗,还是普通文件的处理,都是要用到字符串. Python对字符串的处理内置了很多高效的函数,非常方便功能很强大.下面是我总结的常用的7招,有了这几招就能轻松应对字符串处理. 一.字符串的连接和合并 连接和合并 相加 //两个字符串可以很方便的通过'+'连接起来 合并//用join方法 二.字符串的切片和相乘 相乘//比如写代码的时候要分隔符,用python很容易实现 line='*'*30 print(lin

  • Python实现简单文本字符串处理的方法

    本文实例讲述了Python实现简单文本字符串处理的方法.分享给大家供大家参考,具体如下: 对于一个文本字符串,可以使用Python的string.split()方法将其切割.下面看看实际运行效果. mySent = 'This book is the best book on python!' print mySent.split() 输出: ['This', 'book', 'is', 'the', 'best', 'book', 'on', 'python!'] 可以看到,切分的效果不错,但

  • python 中文字符串的处理实现代码

    >>> teststr = '我的eclipse不能正确的解码gbk码!' >>> teststr '\xe6\x88\x91\xe7\x9a\x84eclipse\xe4\xb8\x8d\xe8\x83\xbd\xe6\xad\xa3\xe7\xa1\xae\xe7\x9a\x84\xe8\xa7\xa3\xe7\xa0\x81gbk\xe7\xa0\x81\xef\xbc\x81' >>> tests2 = u'我的eclipse不能正确的解码gb

  • Python去除、替换字符串空格的处理方法

    个人想到的解决方法有两种,一种是  .replace(' old ',' new ')   第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉. 第二种方法是像这样 str_1_data = ' a b c ' str_2_list = str_1_data.split() str_1 = '' for i in range(len(str_2_list)): #这里可以直接用 str_1.join(str2_list) str_1 += str_2_lis

  • Python中处理字符串之isalpha()方法的使用

    isalpha()方法检查字符串是否仅由字母组成. 语法 以下是islpha()方法的语法: str.isalpha() 参数 NA 返回值 如果字符串中的所有字符字母和至少有一个字符此方法返回true,否则返回false. 例子 下面的例子显示了isalpha() 方法的使用. #!/usr/bin/python str = "this"; # No space & digit in this string print str.isalpha(); str = "t

  • Python字符串处理实例详解

    Python字符串处理实例详解 一.拆分含有多种分隔符的字符串 1.如何拆分含有多种分隔符的字符串 问题: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如: s = "ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz" 其中;,|,\t 都是分隔符号,如何处理? 方法一: 连续使用str.split()方法,每次处理一种分隔符号 s = "ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz&q

  • Python字符串处理的8招秘籍(小结)

    Python的字符串处理,在爬虫的数据解析.大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强大.使用非常方便.今天我就把字符串处理时用到最多的方法总结分享给大家,希望大家可以轻松应对字符串处理. 1.字符串的切片和相乘 (1)切片 str='Monday is a busy day' print(str[0:7]) #表示取第一个到第七个的字符串 print(str[-3:]) #表示取从倒数第三个字符开始到结尾的字符串 pri

  • python将字符串转换成json的方法小结

    最近在工作中遇到了一个小问题,如果要将字符串型的数据转换成dict类型,我第一时间就想到了使用json函数.但是里面出现了一些问题 1.通过json来转换: In [1]: import json In [2]: mes = '{"InsId": 2, "name": "lege-happy", "CreationTime": "2019-04-23T03:18:02Z"}' In [3]: mes_to_

  • Python字符串的15个基本操作(小结)

    1. 字符串的翻转 利用切片 str1 = "hello world!" print(str1[::-1]) 利用reduce函数实现 from functools import reduce str1 = "hello world!" print(reduce(lambda x, y : y+x, str1)) 2. 判断字符串是不是回文串 str1 = "123455" def fun(string): print("%s"

  • 10个有用的Python字符串函数小结

    目录 前言 一.capitalize() 函数 二.lower( ) 函数 三.title( ) 函数 四.casefold() 函数 五.upper( ) 函数 六.count( ) 函数 七.find( ) 函数 八.replace() 函数 九.swapcase( ) 函数 十.join () 函数 前言 Python 字符串是一个内置的类型序列.字符串可用于处理 Python 中的文本数据.Python 字符串是 Unicode 点的不可变序列.在 Python 中创建字符串是最简单易用

  • Python字符串常规操作小结

    目录 一.前言 二.拼接字符串 三.计算字符串的长度 四.截取字符串 五.分隔字符串 六.检索字符串 1.count()方法 2.find()方法 3.index()方法 4.startswith()方法 5.endswith()方法 七.字母的大小写转换 1.lower()方法 八.去除字符串中的空格和特殊字符 1.strip()方法 2.lstrip()方法 3.rstrip()方法 九.格式化字符串 1.使用“ %”操作符 2.字符串对象的format() 方法 一.前言 在Python开

  • python字符串的常用操作方法小结

    本文实例为大家分享了python字符串的操作方法,供大家参考,具体内容如下 1.去除空格 str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格 >>> a=' hello ' >>> b=a.strip() >>> print(b) hello str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认为空格 >>> a=' hello ' >>> b=a.lstrip(

  • Python字符串的常见操作实例小结

    本文实例讲述了Python字符串的常见操作.分享给大家供大家参考,具体如下: 如果我们想要查看以下功能:help(mystr .find) 1.find 例: mystr="hello world itcast" print(mystr.find("world")) 结果为 6 find括号中填写要查找的内容,如果找不到返回-1,找到返回从左往右找到的第一个位置 2.index 功能和find一样,只是找不到时,这个返回错误 3.rfind 从右往左找的第一个位置

  • 可能是最全面的 Python 字符串拼接总结【收藏】

    在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅. 加号连接 第一种,通过+号的形式: >>> a, b = 'hello', ' world' >>> a + b 'hello world' 逗号连接 第二种,通过,逗号的形式: >>> a, b = 'hello', ' world' >>> print(a, b) hello world 但是,使用,逗号形式要注意一点,就是只能用于pr

  • python 字典访问的三种方法小结

    定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic: print key,dic[key] print key + str(dic[key]) 结果: a hello ahello c you cyou b how bhow 细节: print key,dic[key],后面有个逗号,自动生成一个空格 print key + str(dic[key]),连接两个字符串,

  • Python中re模块的元字符使用小结

    目录 类别1:匹配单个字符的元字符 方括号( [] ) 字符集 点 ( . ) 通配符 \w 和 \W 单词字符匹配 \d 和 \D 字符十进制数字匹配 \s 和 \S 字符空格匹配 混合使用 \w, \W, \d, \D, \s, 和\S 类别2:转义元字符 反斜杠 ( \ ) 转义元字符 类别3:锚点 $ 和\Z 字符串的结尾匹配项 \b 和 \B 单词匹配 类别4:量词 * 匹配前面的子表达式零次或多次 + 匹配前面的子表达式一次或多次 ? 匹配前面的子表达式零次或一次 .*?.+?.??

随机推荐