前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【自然语言处理】NLP入门(六):1、正则表达式与Python中的实现(6):字符串常用方法:find()、rfind()、index()、rindex()、count()、replace()

【自然语言处理】NLP入门(六):1、正则表达式与Python中的实现(6):字符串常用方法:find()、rfind()、index()、rindex()、count()、replace()

作者头像
Qomolangma
发布2024-07-30 12:35:52
830
发布2024-07-30 12:35:52
举报
文章被收录于专栏:自然语言处理深度学习

一、前言

  本文将介绍字符串常用方法,包括:find()、rfind()、index()、rindex()、count()、replace()等。

二、正则表达式与Python中的实现

1.字符串构造

2. 字符串截取

【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

3. 字符串格式化输出

【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)

4.字符转义符

【自然语言处理】NLP入门(三):1、正则表达式与Python中的实现(3):字符转义符

5. 字符串常用函数

  在Python中有很多内置函数可以对字符串进行操作。如len()ord()chr()max()min()bin()oct()hex()等。

自然语言处理】NLP入门(四):1、正则表达式与Python中的实现(4):字符串常用函数

函数与方法之比较

  在Python中,函数(function)和方法(method)都是可调用的对象,但它们之间有一些区别:

  1. 函数(Function)
    • 函数是一段可重复使用的代码块,它可以接受输入参数,并且在执行完任务后返回一个结果。
    • 函数可以独立存在,不依赖于任何对象或类。
    • 在Python中,函数可以通过def关键字定义,并可以在任何地方调用。
代码语言:javascript
复制
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))  # Output: Hello, Alice!
  1. 方法(Method)
    • 方法是与特定对象相关联的函数。它是在类定义中定义的函数,它可以访问对象的数据。
    • 方法需要通过对象来调用,并且在方法内部可以使用self关键字来访问对象的属性和其他方法。
    • 在Python中,方法是通过将函数绑定到类的属性来创建的,并且可以通过类的实例来调用。
代码语言:javascript
复制
class Dog:
    def __init__(self, name):
        self.name = name
    
    def bark(self):
        return f"{self.name} says Woof!"

my_dog = Dog("Buddy")
print(my_dog.bark())  # Output: Buddy says Woof!

函数是独立的代码块,而方法是与类或对象相关联的函数。 方法依赖于类和对象的概念,而函数则是更一般的概念,不一定与特定的类或对象相关联。

6. 字符串常用方法

由于字符串属于不可变序列类型,常用方法中涉及到返回字符串的都是新字符串,原有字符串对象不变。

1. 对齐方式

  Python提供了三种方法来对字符串进行对齐:center(), ljust()rjust()

2. 大小写转换
  • 常用于解决不区分大小写的问题:
    • lower() 将字符串中的大写字母转换为小写字母,其他字符不变,并返回新字符串。
    • upper() 将字符串中的小写字母转换为大写字母,其他字符不变,并返回新字符串。
  • 进阶
    • capitalize() 将字符串的首字母转换为大写,其余字母转为小写,返回新字符串。
    • title() 将每个单词的首字母转为大写,其他字母转为小写,返回新字符串。
    • swapcase() 将字符串中的大小写字母互换,返回新字符串。

【自然语言处理】NLP入门(五):1、正则表达式与Python中的实现(5):字符串常用方法:对齐方式、大小写转换详解

3. find()和rfind()
格式
  • str.find(sub[, start, end])
  • str.rfind(sub[, start, end])
参数说明
  • sub: 要查找的子串
  • start: 查找的开始位置索引,默认为0
  • end: 查找的结束位置索引(不包含该位置),默认为字符串长度
功能
  • 在字符串中查找子串sub首次出现的位置索引
  • find()从左往右查找,rfind()从右往左查找
  • 如果找到子串,返回其首次出现位置的索引
  • 如果没有找到,返回-1
示例
代码语言:javascript
复制
s = 'Heart is living in tomorrow'
print(s.find('Heart'))  # 输出: 0
print(s.find('is'))     # 输出: 6
print(s.find('heart'))  # 输出: -1 (不存在)
print(s.find('i'))      # 输出: 6 (找到第一个'i')
print(s.find('i', 7))   # 输出: 10 (从索引7开始查找)
print(s.find('i', 11))  # 输出: 12
print(s.find('i', 13))  # 输出: 16
print(s.find('i', 17))  # 输出: -1 (从17到结尾没有'i')
print(s.rfind('i'))     # 输出: 16 (找到最后一个'i')
4. index()和rindex()

  index()和rindex()方法与find()和rfind()类似,不同之处在于如果没有找到子串,会抛出ValueError异常,而不是返回-1。一般使用find()更加安全和方便。

5. count()
格式
  • str.count(sub[, start, end])
参数说明
  • sub: 要统计的子串
  • start: 统计的开始位置索引,默认为0
  • end: 统计的结束位置索引(不包含该位置),默认为字符串长度
功能
  • 统计字符串中指定子串出现的次数
示例
代码语言:javascript
复制
s = 'Hello, hello, HELLO'
print(s.count('hello'))   # 输出: 1
print(s.count('Hello'))   # 输出: 1
print(s.count('ll', 4))   # 输出: 1 (从索引4开始统计)
print(s.count('ll'))      # 输出: 2
6. replace()
格式
  • str.replace(old, new, count)
参数说明
  • old: 将要被替换的子串
  • new: 用于替换的新子串
  • count: 替换的最大次数,默认为替换所有的匹配项
功能
  • 将字符串中的old子串替换为new子串,并返回新的字符串
  • 替换次数最多为count指定的值,默认替换全部
示例
代码语言:javascript
复制
s = 'Heart is living in tomorrow'
print(s.replace('i', 'I'))            # 输出: Heart Is lIvIng In tomorrow
print(s)                              # 输出: Heart is living in tomorrow (原字符串不变)
代码语言:javascript
复制
s1 = '中国北京,北京地铁,地铁沿线,沿线城市'
print(s1.replace('北京', 'Beijing')) 	# 输出: 中国Beijing,Beijing地铁,地铁沿线,沿线城市  
print(s1.replace('北上', 'Beijing')) 	# 输出: 中国北京,北京地铁,地铁沿线,沿线城市 (没有'北上'子串)
print(s1.replace('北京', 'Beijing', 1)) # 输出: 中国Beijing,北京地铁,地铁沿线,沿线城市 (替换1次)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、正则表达式与Python中的实现
    • 1.字符串构造
      • 2. 字符串截取
        • 3. 字符串格式化输出
          • 4.字符转义符
            • 5. 字符串常用函数
              • 函数与方法之比较
            • 6. 字符串常用方法
              • 1. 对齐方式
              • 2. 大小写转换
              • 3. find()和rfind()
              • 4. index()和rindex()
              • 5. count()
              • 6. replace()
          相关产品与服务
          NLP 服务
          NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档