python中字符串数据处理的那些方法------=为了面试武装到牙齿=----==《《满满的硬货》》-----====实用派(2)

简介: python中字符串数据处理的那些方法------=为了面试武装到牙齿=----==《《满满的硬货》》-----====实用派(2)

4、strip()

4.1 strip()用法

strip()的用法简单点来说就是去除字符串两边的空格、换行符、制表符,得到一个新的字符串

print("好的")

结果:

image.png

可以发现除了打印出来的 好的 还打印出来了一行换空格,产生空格的原因是因为print()函数,那么想要去除怎么办呢,先用strip()试试。

ok="好的"
a=ok.strip()    #strip 只能针对字符串进行操作  print打印的空格无法解决
print(a)

结果:

image.png

我们可以发现空格还在。所以strip() 只能针对字符串进行操作 print打印的空格无法解决。当然也不是没有解决的方法,end就可以解决

ok="好的"
a=ok.strip()    #strip 只能针对字符串进行操作  print打印的空格无法解决
print(a,end="")

结果

image.png

可以发现问题解决,空格去除了。


ok,下面的就不详细讲解了,不清楚的可以评论区或者私信我,我看见都会解答的。下面的代码主要就是想说明strip()只能去除两边的空格、制表符之类的,不能去除中间的,下面会讲解字符串中间的怎么去除。

ok="好的\nhello\ngoodbye"
ok.strip()
print(ok)
oks="\n好的hellogoodbye\n"
oks.strip()
print(oks)
okss="好的\n\thello\ngoodbye"  #\t制表符  == 四个空格 ==tab键
print(okss.strip())
oksss="\n\t好的hellogoodbye\n"
print(oksss.strip())

结果:

image.png

4.2、lstrip()

image.png

rstrip()删除字符串右侧空白字符

hi="www       "
print(hi.rstrip())

结果:

image.png

我们发现就是删除右边的空格,空格是因为print()函数输出原因。意思上**rstrip() <==> right-strip()**

4.3、rstrip()

rstrip()删除字符串右侧空白字符

hi="www       "
print(hi.rstrip())

结果:

image.png

5.replace()

replace("旧字符串",”新字符串“,替换次数) 特殊字符换程正常的,一般使用在爬虫中,将一些稀奇古怪的符号换掉

首先我们引入一首诗,但是诗人的出生时代错了该怎么办?

mydemo="      静夜思"    \
       "     宋  李白    " \
       "床前明月光,疑是地上霜。" \
       "举头望明月,低头思故乡。"
print(mydemo)
top=mydemo.replace("宋","唐")
print(top)

结果:

image.png

是不是,是不是,是不是用replace()将诗人的出生年代宋换成了唐,并非只能换诗的年代,诗中的任何字都能换。

还是以这首诗为例,将诗中的“月”换成“陶”,诗的水平是不是有提高了【坏笑】【坏笑】

mydemo="      静夜思"    \
       "     宋  李白    " \
       "床前明月光,疑是地上霜。" \
       "举头望明月,低头思故乡。"
print(mydemo)
top=mydemo.replace("月","陶")
print(top)

结果:

image.png

g)根据结果可以发现诗中的 “月” 全部换成了 “陶”

再反问一下,难道只能一下子全换吗,不能只换一个吗?

答案是肯定的,当然能

mydemo="      静夜思"    \
       "     宋  李白    " \
       "床前明月光,疑是地上霜。" \
       "举头望明月,低头思故乡。"
print(mydemo)
top=mydemo.replace("月","陶",1)
print(top)

结果:

image.png

还是上面的例子,我们发现只是添加了一个参数,就得到了不一样的结果。是不是又学到了

出自之外还有更牛的,多个字符串换多个字符串

mydemo="      静夜思"    \
       "     宋  李白    " \
       "床前明月光,疑是地上霜。" \
       "举头望明月,低头思故乡。"
print(mydemo)
top=mydemo.replace("低头思故乡","陶同学666")
print(top)

结果:

image.png那么垃圾字符又怎么处理呢,诗中的字符串是不是使诗看起来非常糟糕,下面就来看一下怎么处理吧

mydemo="      静夜思"    \
       "     宋  李白    " \
       "床$¥……?“&*……前明月光,疑是地$¥……?“&*……上霜。" \
       "举头望$¥……?“&*……明月,$¥……?“&*……低头思故乡。"
print(mydemo)
top=mydemo.replace("$¥……?“&*……","")
print(top)

结果:image.png是不是看起来非常的舒服

6、split() 分割字符串

就我个人来看,strip()、replace()和下面要说的spilt()可以称作为字符串处理三剑客

我们还是用静夜思来讲解split()的用法。

当静夜思从网上爬取下来的,或者应为自己的原因不是以",(逗号)"分割的,看起来很乱怎么办?当然是找split()

mydemo="      静夜思,"    \
       "|宋|李白|" \
       "床前明月光|疑是地上霜|。" \
       "举头望明月|低头思故乡。"
print(mydemo)
top=mydemo.split("|")
print(top)

结果:image.png是不是很好的切开了有人问为什么静夜思前面还有空格呢,能去掉吗?image.png看上面的图,你认为能不能去掉呢?【疑问】【疑问】

好了,文章最后,三兄弟该一起上场了,还是以静夜思来进行演示

mydemo="      静夜思,"    \
       "$宋#李白$" \
       "床#前明#月光#疑是地上霜$。" \
       "举头望#明月$低头思故乡。     "
print(mydemo)
top=mydemo.replace("#","").strip().split("$")
print(top)

结果:image.png三兄弟,大哥replace()先将文章中的#全部换掉(双引号之间什么也没剩,等价于delete),二哥strip()上场将文中首位端的空格全部去掉(注意只能去除首位的空格,中间的没法去除,如果想去除可以通过大哥replace(" “,”")将空格替换掉,最后小弟split()上场将古诗通过$分割就得到上图的结果了。怎么样,三兄弟是不是很猛

目录
相关文章
|
15天前
|
Python
python保存两位小数的几种方法,python2保留小数
python保存两位小数的几种方法,python2保留小数
51 2
|
5天前
|
Python
Python中几种lambda排序方法
【9月更文挑战第7天】在Python中,`lambda`表达式常用于配合排序函数,实现灵活的数据排序。对于基本列表,可以直接使用`sorted()`进行升序或降序排序;处理复杂对象如字典列表时,通过`lambda`指定键值进行排序;同样地,`lambda`也适用于根据元组的不同位置元素来进行排序。
|
15天前
|
Python
|
15天前
|
C++ Python
python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
11 1
|
15天前
|
算法 定位技术 vr&ar
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
82 0
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
|
13天前
|
UED Python
探索Python中的魔法方法:打造自定义字符串表示
【8月更文挑战第31天】在Python的世界里,魔法方法是那些以双下划线开头和结尾的特殊方法,它们为类提供了丰富的功能。本文将带你走进这些魔法方法的背后,特别是__str__和__repr__,揭示如何通过它们来定制我们的对象在被打印或转换为字符串时的外观。我们将从基础用法开始,逐步深入到高级技巧,包括继承与重写,最终实现一个优雅的字符串表示方案。准备好了吗?让我们开始这段代码之旅吧!
|
15天前
|
索引 Python
如何在 Python 中修改字符串
【8月更文挑战第29天】
11 0
|
24天前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
24天前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
24天前
|
Java
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。