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

2024-07-30 12:35:06 浏览数 (2)

一、前言

  本文将介绍字符串常用方法,包括:center()、ljust()、rjust();lower()、upper();capitalize()、title()、swapcase()等

二、正则表达式与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()

  • 格式:
代码语言:txt复制
- `str.center(width[, fillchar])`
- `str.ljust(width[, fillchar])`
- `str.rjust(width[, fillchar])`说明:
代码语言:txt复制
- `width`: 指定字符串的宽度
- `fillchar`: 填充字符,默认为空格功能:
代码语言:txt复制
- 返回一个**指定宽度的新字符串,原字符串在其中处于居中/左对齐/右对齐的位置**。如果宽度大于原字符串长度,则使用 `fillchar` 进行填充。
center()

str.center(width[, fillchar])方法返回一个新字符串,原字符串被置于新字符串的中央,两侧使用fillchar字符(默认为空格)进行填充,直到达到指定的width宽度。

代码语言:javascript复制
# 原字符串长度小于width
print('Python'.center(10))    # ' Python '
print('Python'.center(10, '*'))  # '**Python**'

# 原字符串长度等于width
print('Python'.center(6))     # 'Python'

# 原字符串长度大于width
print('Python'.center(4))     # 'Python'
ljust()

str.ljust(width[, fillchar])方法返回一个新字符串,原字符串位于新字符串的左侧,右侧使用fillchar字符(默认为空格)进行填充,直到达到指定的width宽度。

代码语言:javascript复制
print('Python'.ljust(10))     # 'Python    '
print('Python'.ljust(10, '*'))  # 'Python****'
rjust()

str.rjust(width[, fillchar])方法返回一个新字符串,原字符串位于新字符串的右侧,左侧使用fillchar字符(默认为空格)进行填充,直到达到指定的width宽度。

代码语言:javascript复制
print('Python'.rjust(10))     # '    Python'
print('Python'.rjust(10, '*'))  # '****Python'
2. 大小写转换
  • 常用于解决不区分大小写的问题:
    • lower() 将字符串中的大写字母转换为小写字母,其他字符不变,并返回新字符串。
    • upper() 将字符串中的小写字母转换为大写字母,其他字符不变,并返回新字符串。
  • 进阶
    • capitalize() 将字符串的首字母转换为大写,其余字母转为小写,返回新字符串。
    • title() 将每个单词的首字母转为大写,其他字母转为小写,返回新字符串。
    • swapcase() 将字符串中的大小写字母互换,返回新字符串。
lower()

str.lower()方法返回一个新字符串,其中所有字符都被转换为小写。

代码语言:javascript复制
print('PythON'.lower())     # 'python'
print('PYTHON123@#$'.lower())  # 'python123@#$'
upper()

str.upper()方法返回一个新字符串,其中所有字符都被转换为大写。

代码语言:javascript复制
print('PythON'.upper())     # 'PYTHON'
print('python123@#$'.upper())  # 'PYTHON123@#$'
capitalize()

str.capitalize()方法返回一个新字符串,其中第一个字符被转换为大写,其余字符被转换为小写。

代码语言:javascript复制
print('python'.capitalize())   # 'Python'
print('PYTHON'.capitalize())   # 'Python'
print('python 123'.capitalize())  # 'Python 123'
title()

str.title()方法返回一个新字符串,其中每个单词的首字母被转换为大写,其余字母被转换为小写。

代码语言:javascript复制
print('python is a programming language'.title())  # 'Python Is A Programming Language'
print('ThIs iS A tEsT sTrInG'.title())  # 'This Is A Test String'
swapcase()

str.swapcase()方法返回一个新字符串,其中所有大写字符被转换为小写,所有小写字符被转换为大写。

代码语言:javascript复制
print('Python IS AWESOME'.swapcase())  # 'pYTHON is awesome'
print('PyThoN123#$'.swapcase())        # 'pYtHOn123#$'

0 人点赞