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

文章目录

  • 一、前言
  • 二、正则表达式与Python中的实现
    • 1.字符串构造
    • 2. 字符串截取
    • 3. 字符串格式化输出
    • 4.字符转义符
    • 5. 字符串常用函数
      • 函数与方法之比较
    • 6. 字符串常用方法
      • 1. 对齐方式
        • center()
        • ljust()
        • rjust()
      • 2. 大小写转换
        • lower()
        • upper()
        • capitalize()
        • title()
        • swapcase()

一、前言

  本文将介绍字符串常用方法,包括: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关键字定义,并可以在任何地方调用。
def greet(name):return f"Hello, {name}!"print(greet("Alice"))  # Output: Hello, Alice!
  1. 方法(Method)
    • 方法是与特定对象相关联的函数。它是在类定义中定义的函数,它可以访问对象的数据。
    • 方法需要通过对象来调用,并且在方法内部可以使用self关键字来访问对象的属性和其他方法。
    • 在Python中,方法是通过将函数绑定到类的属性来创建的,并且可以通过类的实例来调用。
class Dog:def __init__(self, name):self.name = namedef 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()

  • 格式:

    • str.center(width[, fillchar])
    • str.ljust(width[, fillchar])
    • str.rjust(width[, fillchar])
  • 说明:

    • width: 指定字符串的宽度
    • fillchar: 填充字符,默认为空格
  • 功能:

    • 返回一个指定宽度的新字符串,原字符串在其中处于居中/左对齐/右对齐的位置。如果宽度大于原字符串长度,则使用 fillchar 进行填充。
center()

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

# 原字符串长度小于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宽度。

print('Python'.ljust(10))     # 'Python    '
print('Python'.ljust(10, '*'))  # 'Python****'
rjust()

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

print('Python'.rjust(10))     # '    Python'
print('Python'.rjust(10, '*'))  # '****Python'

2. 大小写转换

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

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

print('PythON'.lower())     # 'python'
print('PYTHON123@#$'.lower())  # 'python123@#$'
upper()

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

print('PythON'.upper())     # 'PYTHON'
print('python123@#$'.upper())  # 'PYTHON123@#$'
capitalize()

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

print('python'.capitalize())   # 'Python'
print('PYTHON'.capitalize())   # 'Python'
print('python 123'.capitalize())  # 'Python 123'
title()

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

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()方法返回一个新字符串,其中所有大写字符被转换为小写,所有小写字符被转换为大写。

print('Python IS AWESOME'.swapcase())  # 'pYTHON is awesome'
print('PyThoN123#$'.swapcase())        # 'pYtHOn123#$'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ实战:docker compose 搭建RabbitMQ

目录 一、yml文件准备二、启动RabbitMQ三、开启图形化管理界面四、验证参考资料 一、yml文件准备 docker-compose-rabbitmq.yml文件如下所示 version: "3.8" services:rabbitmq:image: rabbitmq:3.11-alpine container_name: rabbitmqrestart: alwaysvolumes:- /ho…

软考高级:UML 4+1 视图概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

Java高频面试之总纲篇

Java高频 面试之基础篇 Java高频面试之集合篇 Java高频面试之异常篇 Java高频面试之并发篇Java高频面试之SSM篇 Java高频面试之Mysql篇 Java高频面试之Redis篇 Java高频面试之消息队列与分布式篇 50道SQL面试题 奇奇怪怪的面试题 五花八门的内存溢出

Golang内存管理

# golang内存管理golang是一种编译型的静态类型语言,它提供了一种简洁和高效的方式来管理内存。golang的内存管理主要依赖于两个机制:**栈**和**堆**。## 栈栈是一种后进先出(LIFO)的数据结构,它用于存储函数的局部变量…

在Jetson Xavier NX 开发板上使用VScode执行ROS程序详细过程

1.创建 ROS 工作空间ws 在home下打开终端输入下面指令 mkdir -p xxx_ws/src(必须得有 src) cd 自己命名_ws catkin_make2.启动 vscode cd 自己命名_ws code .3.vscode 中编译 ros 快捷键 ctrl shift B 调用编译,在上方弹窗位置选择:catkin_make:build 可以点击…

jenkins配置

jenkins前端常用插件: Git Parameter 、Maven Integration 、Proxmox(snapshot)、Pipeline: Multibranch(多分支流水线)、Pipeline: Stage Step、pipeline Git plugin、NodeJS Plugin、Publish Over SSH、SSH server…

python界面开发 - Menu (popupmenu) 右键菜单

文章目录 1. python图形界面开发1.1. Python图形界面开发——Tkinter1.2. Python图形界面开发——PyQt1.3. Python图形界面开发——wxPython1.4. Python图形界面开发—— PyGTK:基于GTK1.5. Python图形界面开发—— Kivy1.6. Python图形界面开发——可视化工具1.7. …

【个人学习笔记】概率论与数理统计知识梳理【六】

文章目录 第六章 样本及抽样分布一、随机抽样二、直方图与箱线图2.1 直方图2.2 箱线图 三、抽样分布总结 第六章 样本及抽样分布 好久没更新了,重新捡起来把它更完吧,可能会再开一个机器学习的笔记系列,参考用书是周志华的西瓜书。前五章主要…

Android 14.0 首次开机默认授予app运行时权限(去掉运行时授权弹窗)

1.概述 在14.0的系统rom产品定制化开发中,在6.0以后对于权限的申请,都需要动态申请,所以会在系统首次启动后,在app的首次运行时, 会弹出授权窗口,会让用户手动授予app运行时权限,在由于系统产品…

6、JavaWeb-Mybatis

P116 Mybatis-入门 Mybatis是一款优秀的持久层框架,用于简化JDBC的开发。 持久层就是三层控制中的Dao层,数据访问层/持久层, P117 Mybatis-入门-快速入门程序 步骤: 创建springboot工程,数据表和实体类 引入mybat…

【办公类-39-03】批量下载微信公众号图片(三)-微信公众号链接的爬虫下载

背景需求: 测试两种公众号图片下载, 1、UIBOT下载速度慢,也需要有UIBOT软件 【办公类-39-01】批量下载微信公众号图片(一)UIBOT图片下载-CSDN博客文章浏览阅读289次。【办公类-39-01】批量下载微信公众号图片&#…

T5模型-基于Transformer架构的通用文本到文本转换模型

T5(Text-to-Text Transfer Transformer)是由Google于2019年提出的一种基于Transformer架构的通用文本到文本转换模型。T5模型通过在大规模数据集上进行预训练,并使用迁移学习的方式在各种自然语言处理任务上取得了出色的性能。它的设计理念是…

认识JAVA数组

以下是一个Java数组的案例,展示了如何创建、初始化和访问数组中的元素: public class ArrayExample {public static void main(String[] args) {// 创建一个整数数组,长度为5int[] numbers new int[5];// 初始化数组元素numbers[0] 1;numb…

Python笔记(三)—— Python循环语句

循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能。 循环在程序中同判断一样,也是广泛存在的,是非常多功能实现的基础: bilibili循环轮播图 循环和判断一样,同样是程序…

XXE-XML实体注入漏洞

目录 1.xml基础 1.1什么是xml 1.2xml文档结构 1.3 什么是DTD 1.4 什么是实体 1.5 什么是外部实体 2.xxe漏洞 2.1xxe漏洞基本介绍 2.2xxe漏洞的危害 经典漏洞案例分析 3.xxe漏洞挖掘和利用 3.1. 识别潜在的XML入口 3.2. 检查XML处理逻辑 3.3. 构造试探Payload 常…

Redis核心数据结构之字典(一)

字典 概述 字典又称为符号表(symbol table)、关联数组(associative array)或映射(map),是一种保存键值对(key-value pair)的抽象数据结构,在字典中,一个键(key)可以和一个值(value)进行关联(或者说将键映射为值),这些关联的键和…

(delphi11最新学习资料) Object Pascal 学习笔记---第6章第3节(查看内存中的字符串)

6.3.8 查看内存中的字符串 ​ 通过查看字符串的元数据,可以更好地了解字符串内存管理的工作原理,尤其是涉及引用计数时。为此,我在 StringMetaTest 示例中添加了一些代码。 ​ 该程序有两个全局字符串: MyStr1 和 MyStr2。程序将…

OpenText Availability——适用于 Windows 和 Linux 服务器的高可用性和灾难恢复解决方案

OpenText Availability——适用于 Windows 和 Linux 服务器的高可用性和灾难恢复解决方案 连续复制,最大限度地减少数据丢失快速故障转移,最大限度地减少停机时间可忽略的性能影响支持物理、虚拟和基于云的系统平台 停机从多种途径侵扰 IT 企业。 从相…

最佳牛围栏(二分 + 前缀和)

最佳牛围栏 原题链接&#xff1a;https://www.acwing.com/problem/content/104/ 题目 思路 我们发现若是枚举答案的话&#xff0c;那么我们判断是否存在一个平均值大于等于mid&#xff0c;如果最优解是x&#xff0c;那么mid < x的时候&#xff0c;必然可以找到一段&#x…

算法---双指针练习-1(移动零)

移动零 1. 题目解析2. 讲解算法原理数组划分&#xff0c;数组分块&#xff08;核心思想&#xff09;如何做到 3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 数组划分&#xff0c;数组分块&#xff08;核心思想&#xff09; dest一般初始化为-1&#x…