当前位置: 首页 > 知识库问答 >
问题:

删除Python中字符串中的空格和制表符

暴辰龙
2023-03-14

如何在python中删除字符串中的特定空格。

我的输入字符串是:,

str1 = """vendor_id\t: GenuineIntel
        cpu family\t: 6
        model\t\t: 58
        model name\t: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
        stepping\t: 9
        cpu MHz\t\t: 2485.659
        cache size\t: 6144 KB
        fpu\t\t: yes
        fpu_exception\t: yes
        cpuid level\t: 5
        wp\t\t: yes"""

我需要的输出是:

>>>print str1
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
stepping: 9
cpu MHz: 2485.659
cache size: 6144 KB
fpu: yes
fpu_exception: yes
cpuid level: 5
wp: yes

共有3个答案

曹华荣
2023-03-14

这将解决您的问题:

str1 = """vendor_id\t: GenuineIntel
    cpu family\t: 6
    model\t\t: 58
    model name\t: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
    stepping\t: 9
    cpu MHz\t\t: 2485.659
    cache size\t: 6144 KB
    fpu\t\t: yes
    fpu_exception\t: yes
    cpuid level\t: 5
    wp\t\t: yes"""
arr = [line.strip() for line in str1.split('\n')]
for line in arr:
    print line.strip()
阮俊弼
2023-03-14

我不知道你所说的“随机”是什么意思,但你可以通过以下方式删除所有选项卡:

str1 = str1.replace("\t", "")
翟元凯
2023-03-14

看起来您希望删除行开头的空格,并删除冒号之前的所有空格。使用正则表达式:

import re

re.sub(r'(^[ \t]+|[ \t]+(?=:))', '', str1, flags=re.M)

这将选择行开始处的空格和制表符(^[\t]*^是行的开始,[\t]是空格或制表符,是1或更多),或者它在冒号前选择空格和制表符([\t]是1个或多个空格和制表符,(?=:)意味着一个字符必须跟随,但不包括在选择的内容中),然后用空字符串替换这些空格和制表符。标志=re。M是为了确保模式在每一行上工作。

演示:

>>> import re
>>> str1 = """vendor_id\t: GenuineIntel
...         cpu family\t: 6
...         model\t\t: 58
...         model name\t: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
...         stepping\t: 9
...         cpu MHz\t\t: 2485.659
...         cache size\t: 6144 KB
...         fpu\t\t: yes
...         fpu_exception\t: yes
...         cpuid level\t: 5
...         wp\t\t: yes"""
>>> print re.sub(r'(^[ \t]+|[ \t]+(?=:))', '', str1, flags=re.M)
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
stepping: 9
cpu MHz: 2485.659
cache size: 6144 KB
fpu: yes
fpu_exception: yes
cpuid level: 5
wp: yes

如果您的输入字符串没有前导空格(并且您只是自己缩进示例以使其看起来对齐),那么您只需要删除选项卡:

str1 = str1.replace('\t', '')

就这样吧。

 类似资料:
  • 问题内容: 我想从python中的字符串列表中删除所有空字符串。 我的想法如下: 有没有更多的Python方式可以做到这一点? 问题答案: 我会用: Python 3从返回一个迭代器,因此应包装在对的调用中

  • 问题内容: 如何在Python 2.6中删除XML字符串中的空格和换行符?我尝试了以下软件包: etree:此代码段保留原始空格: 我不能使用将提供参数的Python 2.7 。 渺小:一样: 问题答案: 最简单的解决方案可能是使用lxml,您可以在其中设置解析器选项以忽略元素之间的空白: 这可能足以满足您的需求,但是有些警告是安全的: 这只会删除元素之间的空格节点,并尽量不要删除内容混合的元素内

  • 问题内容: 我想从字符串的两端和单词之间消除所有空格。 我有这个Python代码: 但这仅消除了字符串两侧的空白。如何删除所有空格? 问题答案: 如果要删除开头和结尾的空格,请使用: 如果要删除所有空格字符,请使用: (注意,这只会删除“常规” ASCII空格字符,而不会删除任何其他空白) 如果要删除重复的空格,请使用:

  • 用户输入数据时,很有可能会无意中输入多余的空格,或者在一些场景中,字符串前后不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符。 这里的特殊字符,指的是制表符(\t)、回车符(\r)、换行符(\n)等。 Python 中,字符串变量提供了 3 种方法来删除字符串中多余的空格和特殊字符,它们分别是: strip():删除字符串前后(左右两侧)的空格或特殊字符。 lstrip():删除字

  • 问题内容: 在Go中从某个任意字符串中剥离所有空格的最快方法是什么。 我从字符串包中链接了两个函数: 有人有更好的方法吗? 问题答案: 以下是一些用于从字符串中剥离所有空格字符的不同方法的基准:(源数据): :用途; 随着遇到更多的非空白字符,逐渐增加分配的空间量 :和; 产生大量中间数据 用途; 执行一次分配,但是如果源字符串主要是空格,则可能会总体上分配。 package main_test

  • 本文向大家介绍如何从Python的字符串列表中删除空字符串?,包括了如何从Python的字符串列表中删除空字符串?的使用技巧和注意事项,需要的朋友参考一下 您可以使用过滤器过滤掉空字符串。filter的第一个参数是lambda,它将告诉您字符串是否为空。您可以将此lambda传递为None,bool,len或检查字符串是否为空的函数。您可以通过以下几种方式进行检查: 请单击下面的链接以查看带有简单