python中的字符串处理方法(python 字符串处理函数)

python中的字符串处理方法(python 字符串处理函数) 「目录」

本文目录一览:

Python数据分析笔记#7.3.1 字符串对象方法

「目录」

数据清洗和准备

Data Cleaning and Prepration

——– 字符串对象方法

字符串对象方法

Python能够成为流行的数据处理语言的部分原因是其易于处理字符串和文本。大部分文本运算都直接做成了字符串对象的内置方法。

split方法可以 通过指定分隔符对字符串进行切片 。

例如,以逗号分割的字符串可以用split拆分成数段:

strip可以 去除字符串头尾指定的字符 ,默认是空白符或换行符。

strip常常与split一起使用:

利用 加法可以将字符串连接起来 :

但这种方式并不实用,毕竟字符串多了就很麻烦。一种更快 更符合Python风格的方式是是使用join方法 ,我们向join方法中传入一个列表或元组:

检测子串的最佳方法是利用Python的in关键字,还可以使用index和find。

index和find会 查找指定值的首次出现的位置 。

find和index的区别是:若找不到字符串,index将会引发一个 异常 ,find则会返回 -1 :

count可以 返回指定字串的出现次数

replace用于将 指定模式替换为另一个模式 (replace will substitute occurrences of one pattern for another)

再记录几个Python内置的字符串方法吧。

startswith和endswith: 若字符串以某个前缀(后缀)开头,则返回True :

lower和uppe: 分别将字母字符转换为小写或大写 。

ljust和rjust: 用空格(或其他字符)填充字符串的空白侧以返回符合最低宽度的字符串 。

这章终于还剩两节就结束了。

-END-

python – 去除字符串中特定字符

一、去掉字符串两端字符: strip(), rstrip(), lstrip()

s.strip()    # 删除两边(头尾)空字符,默认是空字符

s.lstrip()    # 删除左边头部空字符

s.rstrip()    # 删除右边尾部空字符

s.strip(‘+-‘)    # 删除两边(头尾)加减字符

s.strip(‘-+’).strip()   # 删除两边(头尾)加减和空字符

s.strip(‘x’)    # 删除两边特定字符,例如x

二、去掉字符串中间字符: replace(), re.sub()

# 去除\n字符

s = ‘123\n’

s.replace(‘\n’, ”)

import re

# 去除\r\n\t字符

s = ‘\r\nabc\t123\nxyz’

re.sub(‘[\r\n\t]’, ”, s)

三、转换字符串中的字符:translate()

s = ‘abc123xyz’

# a –  x, b – y, c – z,建立字符映射关系

str.maketrans(‘abcxyz’, ‘xyzabc’)

# translate把其转换成字符串

print(s.translate(str.maketrans(‘abcxyz’, ‘xyzabc’)))

参考链接:

python中的字符串处理方法(python 字符串处理函数)

Python中中文字符串怎么处理?

如果处理的字符串中出现中文表示的字符,要想不出错,就得转成unicode编码了。具体的方法有:

1、decode(),将其他边编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转换成unicode编码;

2、encode(),将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串str2转换成gb2312编码;

3、unicode(),同decode(),将其他编码的字符串转换成unicode编码,如unicode(str3, ‘gb2312’),表示将gb2312编码的字符串str3转换成unicode编码。

转码的时候一定要先搞明白字符串str是什么编码,然后decode成unicode,最后再encode成其他编码。

另外,对一个unicode编码的字符串在进行解码会出错,所以在编码未知的情况下要先判断其编码方式是否为unicode,可以用isinstance(str, unicode)。

不仅是中文,以后处理含非ascii编码的字符串时,都可以遵循以下步骤:

1、确定源字符的编码格式,假设是utf8;

2、使用unicode()或decode()转换成unicode编码,如str1.decode(‘utf8’),或者unicode(str1, ‘utf8’);

3、把处理后字符串用encode()编码成指定格式。

python之字符串内置函数

1. 字符串字母处理

2. 字符串填充

str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)

返回一个指定的宽度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。

3,字符串计数

str.count(sub, start, end)

#统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

start, end遵循**“左闭右开”**原则。

4. 字符串位置

str.endswith(suffix, start, end)和str.startswith(substr, beg, end)

#判断字符串是否以指定后缀结尾/开头,如果以指定后缀「结尾」/「开头」返回 True,否则返回 False。

5. 字符串查找

6. 字符串判断

7. 字符串拼接

str.join() #将序列中的元素以指定的字符连接生成一个新的字符串。

s1 = “-” s2 = “” seq = (“r”, “u”, “n”, “o”, “o”, “b”)

# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob

8. 统计字符串长度

str.len() #返回对象(字符、列表、元组等)长度或项目个数。

9. 去除字符两侧空格

str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左边」/「右边」/「左右」两侧的空格或指定字符。

str0 = ‘ Hello World!’ str0.lstrip() ‘Hello World!’ str1 = ‘aaaa Hello World!’ str1.lstrip(‘a’) ‘ Hello World!’

10. str.maketrans(intab, outtab)和str.translate(table)

str.maketrans()创建字符映射的转换表

str.maketrans()根据参数table给出的表转换字符串的字符。

str.maketrans()传入的也可以是字典

tab = {‘e’: ‘3’, ‘o’: ‘4’} trantab = str.maketrans(tab) str0.translate(trantab) ‘H3ll4 W4rld!’

11. 字符串替换

str.replace(old, new, max)

12. 字符分割

str.split(str, num)

13. 字符填充

str.zfill(width)

返回指定长度的字符串,原字符串右对齐,前面填充0。

python 字符串提取信息方法总结

在日常项目中,我们经常会使用python从字符串中提取我们想要的信息,以下是各种提取信息方法的总结。

格式: str[beg:end:step]

描述: 字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1

举例:

print(str[::2]) //::这里表示整个字符串,每两个位置提取一个

print(str[1:3]) //提取第2个到第3个

print(str[2::]) //截取2 – 末尾的字符

本小节介绍了,处理字符串经常用到的一些函数方法。

语法: str.find(str, beg=0, end=len(string))

描述: Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法: str.split(str=””, num=string.count(str)).

描述: Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串.返回分割后的字符串列表,该方法可以讲字符串转化为列表处理。

另外的: str.splitlines([keepends])按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

语法: str.partition(str)

描述: partition() 方法用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

语法: str.replace(old, new, max)

描述: Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法: str.strip([chars]);

描述: Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

语法: str.join(sequence)

描述: Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

上述方法还有其变形,如str.rfind(),这代表从字符串右边开始处理,正常是从左边开始处理。下表是其它常用的python字符串自带函数方法。

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。本小节主要介绍Python中常用的正则表达式处理函数和正则表达式的书写规则。

re 模块使 Python 语言拥有全部的正则表达式功能。所以在python中使用正则表达式处理函数需要import re

语法: re.search(pattern, string, flags=0)

描述: re.search 扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。

语法: re.sub(pattern, repl, string, count=0, flags=0)

描述: Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。

语法: pattern.findall(string, pos, endpos)

描述: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有。

模式字符串使用特殊的语法来表示一个正则表达式:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/23429.html

(0)
上一篇 2023-10-27
下一篇 2023-10-27

相关推荐

  • mysql中文乱码记录[通俗易懂]

    mysql中文乱码记录[通俗易懂]0.中文乱码 1.查看mysql中表结构 show create table log_data charset为utf8,代码端:通过gorm修改 在创建表时候修改(这里在连接数据库时已经修改过了,但

    2023-04-22
    157
  • sql语句优化的30种方法是什么_数据库语句优化有哪些

    sql语句优化的30种方法是什么_数据库语句优化有哪些1)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索

    2023-06-09
    127
  • 腾讯云原生数据库TDSQL-C架构探索和实践[亲测有效]

    腾讯云原生数据库TDSQL-C架构探索和实践[亲测有效]作为云原生技术先驱,腾讯云数据库内核团队致力于不断提升产品的可用性、可靠性、性能和可扩展性,为用户提供更加极致的体验。为帮助用户了解极致体验背后的关键技术点,本期带来腾讯云数据库专家工程师王鲁俊给大家

    2023-05-25
    138
  • mysql-调优[通俗易懂]

    mysql-调优[通俗易懂]mysql调优 1.选择合适的存储引擎 + 经常用来读的表使用myisam引擎 + 其余的表都使用innodb引擎 2.SQL语句调优(尽量避免全表扫描) + 在select where order

    2023-02-04
    155
  • 聊聊流计算系统中的核心问题:状态管理[通俗易懂]

    聊聊流计算系统中的核心问题:状态管理[通俗易懂]本文选自《实时流计算系统设计与实现》 文末有惊喜 状态管理是流计算系统的核心问题之一。在实现流数据的关联操作时,流计算系统需要先将窗口内的数据临时保存起来,然后在窗口结束时,再对窗口内的数据做关联计算

    2023-02-25
    152
  • window 下如何恢复被删除的mysql root账户及密码(mysql 8.0.17)

    window 下如何恢复被删除的mysql root账户及密码(mysql 8.0.17)不久前自学完完sql,下了mysql8.0.17,安装配置好后探索着,想着用root账户登上去能不能删除root账户呢,然后就想给自己一巴掌,,, 如何快速恢复root: 1.关闭mysql服务:wi

    2023-01-29
    144
  • 使用Flask中的url_for函数

    使用Flask中的url_for函数当我们在开发Web应用时,页面之间需要相互调用,这时候就需要用到URL路由。Flask是一款轻量级的Web应用框架,使用Python语言编写。在Flask中,像其他Web框架一样,我们可以使用URL路由来定位和处理用户的请求。而在Flask中,使用url_for函数来构建url路径更加方便,本文将介绍如何使用Flask中的url_for函数。

    2024-08-26
    35
  • Python中的数字类型及其应用

    Python中的数字类型及其应用Python是一门高级编程语言,它有各种各样的数据类型, 其中数字类型是非常重要的一种。Python中的数字类型有整型、浮点型和复数型,每个类型都有其特殊的用途。在下面的文章里,我们将会逐一介绍这些数字类型及其应用。

    2024-02-11
    90

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注