strip() 用法:

.strip() 是字符串方法之一,在 Python 中用于移除字符串开头和结尾的空白字符(包括空格、制表符 \t、换行符\n等)。这个方法返回一个新的字符串,原始字符串本身不会被修改。

下面是 .strip() 方法的用法示例:

s = "    你好,   我叫  周杰伦    "
s1 = s.strip()
print(s1) #输出:"你好, 我叫 周杰伦"

需要注意的是,.strip() 方法只会移除开头和结尾的空白字符,中间部分的空白字符不会受到影响。如果你想移除字符串中间的空白字符,可以使用其他方法,比如 .replace(" ", "")

典型案例:当用户输入admin+空格的时候,不再会出现登录失败的提示。

username = input("请输入用户名:").strip()
password = input("请输入密码:").strip()
if username == "admin":
if password == "123456":
print("登录成功")
else:
print("登录失败!")
else:
print("登录失败!")

replace(old, new) 字符串替换

.replace() 是字符串方法之一,在 Python 中用于在字符串中查找并替换指定的子字符串。这个方法返回一个新的字符串,原始字符串本身不会被修改。

string = "Hello, World!"
new_string = string.replace("Hello", "Hi") print(string) # 输出: "Hello, World!"
print(new_string) # 输出: "Hi, World!"

需要注意的是,.replace() 方法只会替换所有匹配的子字符串。如果你只想替换第一个匹配的子字符串,可以使用 .replace("Hello", "Hi", 1),其中的 1 表示只替换第一个匹配。

a = "hello i am a good man!"
a1 = a.replace(" ", "") # 去掉所有的空格
print(a1) #输出:"helloiamagoodman!"

.split() 是字符串方法之一,在 Python 中用于将字符串按照指定的分隔符拆分成一个列表(或数组)的子字符串。这个方法返回一个包含拆分后子字符串的列表。

split(用什么切割) 字符串切割, 用什么切, 就会损失掉谁

a = "python_java_c_c#_javascript"
lst = a.split("_") # 切割之后的结果会放在列表当中
print(lst) #这会得到 lst 列表:['python', 'java', 'c', 'c#', 'javascript']
lst = a.split("_java_")
print(lst) #这会得到 lst 列表:['python', 'c_c#_javascript']

情看最后这个案例和分析过程

string = "Hello\tworld!\nThis is an example."
new_string =string.replace(" ", "_").replace("\t", "_").replace("\n", "_")
print(new_string) #输出:"Hello_world!_This_is_an_example."
  1. string = "Hello\tworld!\nThis is an example." 这行代码定义了一个名为 string 的字符串变量,并初始化为 "Hello\tworld!\nThis is an example."。其中,\t 表示制表符,\n 表示换行符。

  2. new_string = string.replace(" ", "_") 在这行代码中,首先使用 .replace() 方法将字符串中的空格替换为下划线 _,并将结果赋值给 new_string 变量。此时,new_string 变量的值是 "Hello_world!\nThis_is_an_example."

  3. new_string = new_string.replace("\t", "_") 在这行代码中,继续使用 .replace() 方法将字符串中的制表符 \t 替换为下划线 _,并将结果再次赋值给 new_string 变量。现在,new_string 变量的值是 "Hello_world!\nThis_is_an_example.",因为原始字符串中并没有制表符。

  4. new_string = new_string.replace("\n", "_") 最后,继续使用 .replace() 方法将字符串中的换行符 \n 替换为下划线 _,并将结果再次赋值给 new_string 变量。现在,new_string 变量的值变为 "Hello_world!_This_is_an_example."

  5. print(new_string) 最后,打印输出经过多次替换后的 new_string 变量的值。输出结果为 "Hello_world!_This_is_an_example."

所以,最终的输出就是经过替换处理后的字符串。这段代码的目的是将原始字符串中的空格、制表符和换行符都替换为下划线 _

string = "                Hello\tworld!\nThis is an example.                   "

# 使用 .strip() 方法移除开头和结尾的空白字符,并使用 .replace() 方法将制表符\t和换行符\n替换为空格
cleaned_string = string.strip().replace("\t", " ").replace("\n", " ")
print(cleaned_string) #输出:"Hello world! This is an example."

引入正则表达式处理极端复杂字符

import re

string = "                Hello\tworld!\nThis            is        an         example.                   "

# 使用正则表达式替换多个连续的空白字符为单个空格,并使用 .strip() 方法移除开头和结尾的空格
cleaned_string = re.sub(r'\s+', ' ', string).strip() print(cleaned_string)

解读表达式:re.sub(r'\s+', ' ', string)

  1. re:这是 Python 内置的正则表达式模块,用于处理字符串匹配和替换。

  2. sub:这是 re 模块中的一个函数,用于执行正则表达式替换操作。

  3. r'\s+':这是一个正则表达式模式,包含了以下几个部分:

    • r:这是一个前缀,表示字符串是原始字符串,其中的转义字符保持不变。
    • \s:这是一个特殊的正则表达式符号,匹配任何空白字符,包括空格、制表符、换行符等。
    • +:这是一个量词,表示匹配前面的元素一次或多次,即匹配一个或多个连续的空白字符。
  4. ' ':这是替换字符串,表示将匹配到的多个连续空白字符替换为单个空格。

  5. string:这是要进行正则表达式替换的原始字符串。

因此,整个表达式 re.sub(r'\s+', ' ', string) 的意思是:在字符串 string 中,查找所有连续的空白字符(包括空格、制表符、换行符等),并将它们替换为单个空格。这可以帮助你将多个连续的空白字符合并为一个空格,从而得到更加规范的字符串。

.join()用法:与.split()相反,把列表里的值用特殊符号连接成字符串。这里"_"_就是连接符。“”内可以为空。

a = "python_java_c_c#_javascript"
lst = a.split("_") # 切割之后的结果会放在列表当中
print(lst) #这会得到 lst 列表:['python', 'java', 'c', 'c#', 'javascript'] lst = ['赵本山', '王大拿', '大张伟', '马大哈']
# 用_把上面的人的名字连起来
s = "_".join(lst)
print(s) #结果:赵本山_王大拿_大张伟_马大哈
s = "".join(lst)
print(s) #结果:赵本山王大拿大张伟马大哈

Python——第二章:替换和切割的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  3. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  4. 【原创】Python第二章——行与缩进

    Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...

  5. python第二章:控制流

    变成实际上是一个过程的提现,每个过程都是有多个流程块组成. 比如:判断是否下雨的过程 1.布尔值 在第一章最后举例了比较操作后,最终返回的结果 True or False True 和 False是一 ...

  6. 【原创】Python第二章——标识符命名规则

    在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...

  7. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  8. Python第二章-变量和数据类型

    变量和数据类型 一.什么是变量,常量 思考:程序执行指的是什么? 对数据进行存储处理和计算,最终获得结果,这是程序执行的本质. 变量的概念和在数学中的变量的概念一样的,只是在计算机程序中,变量不仅可以 ...

  9. machine learn in python 第二章2.1.1

    1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...

  10. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

随机推荐

  1. 我封装的一个REPR轮子 Biwen.QuickApi

    Biwen.QuickApi 项目介绍 [QuickApi("hello/world")] public class MyApi : BaseQuickApi<Req,Rsp ...

  2. 想转行DevOps工程师?快来看看DevOps工程师的学习路径,少走弯路

    DevOps方法论 :::tips DevOps方法论的主要来源是Agile, Lean 和TOC, 独创的方法论是持续交付. ::: DevOps 是一种软件开发方法,涉及持续开发,持续测试,持续集 ...

  3. ORACLE DBLink创建

    在写测试脚本时,经常需要跨库取数据,SQL本身不支持跨库查找.Oracle提供DBLink链接,支持跨库操作. 1.创建DBLink Create public database link Next_ ...

  4. 如何配置.h头文件include“”相对路径

    编译工程时,找的是当前main.c文件下的.h文件,如果当前路径下没有就会报错,当前路径用.\表示,上一级目录用..\表示. 如果你的main.h文件在main.c的上一级目录中Include 文件夹 ...

  5. destoon根据标题删除重复数据

    因为采集数据比较庞大,难免出现重复数据,所以写了一个根据标题进行删除重复数据的mysql命令,需要的朋友可以使用. 1 2 3 4 DELETE from destoon_article_36 whe ...

  6. 2023-10-07:用go语言,给定n个二维坐标,表示在二维平面的n个点, 坐标为double类型,精度最多小数点后两位, 希望在二维平面上画一个圆,圈住其中的k个点,其他的n-k个点都要在圆外。

    2023-10-07:用go语言,给定n个二维坐标,表示在二维平面的n个点, 坐标为double类型,精度最多小数点后两位, 希望在二维平面上画一个圆,圈住其中的k个点,其他的n-k个点都要在圆外. ...

  7. Redis系列之——Redis介绍安装配置

    文章目录 第一章 redis初识 1.1 Redis是什么 1.2 Redis特性(8个) 1.3 Redis单机安装 1.3.1下载安装 1.3.2三种启动方式 1.3.2.1 最简启动 1.3.2 ...

  8. 可视化-vscode安装pandas

    pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们快速 ...

  9. Python自动化处理Excel数据

    需求描述:数据格式如下所示,需要分离出2023年7月1号之后的数据明细 数据核对与处理:从Excel文件中提取特定日期后的签收数据 1. 引言 在实际数据处理和分析过程中,经常会遇到需要从大量数据中提 ...

  10. 适合业余爱好者DIY的高精度数字电桥

    基本状况:工作频率: 100Hz,1kHz,7.813kHz最小分辨:最小分辨0.5毫欧,0.03uH,0.02pF最大分辨:G欧基本量程精度:1kHz基本量程精度,0.5%,选好电阻,精心制作,可以 ...