如何删除文本之间的单个空格

时间:2015-05-19 07:03:36

标签: python r

这是给定"S H A N N O N B R A D L E Y"的输入 (每个字母之间的单个空格,但是SHANNON和BRADLEY之间有2个空格) 我希望输出采用这种格式(如下所示)

SHANNON BRADLEY

任何在R或Python中执行此操作的方法

9 个答案:

答案 0 :(得分:9)

R

中试试
text <- c("S H A N N O N  B R A D L E Y")

gsub(" (?! )" , text , replacement = "" , perl = T)

这是另一个更简单的

gsub("\\b " , text , replacement = "" , perl = T)

答案 1 :(得分:5)

如果所有字母都用一个空格分隔,所有单词用两个分隔,那么你可以这样做:

In [2]: "S H A N N O N  B R A D L E Y".replace('  ', '   ')[::2]
Out[2]: 'SHANNON BRADLEY'

答案 2 :(得分:2)

您可以使用以下命令在python中执行此操作:

    import re
    s = "S H A N N O N  B R A D L E Y"
    ' '.join([''.join(i.split()) for i in re.split(r' {2,}',s)])

答案 3 :(得分:2)

使用Python:

import sys

myText="S H A N N O N  B R A D L E Y" 
for i in range(len(myText)):
    if (myText[i]!=" " or myText[i+1]==" "):
        sys.stdout.write(myText[i])
    else:
        pass

输出:

enter image description here

答案 4 :(得分:2)

Python实现:

" ".join(["".join(w.split(" ")) for w in "S H A N N O N  B R A D L E Y".split("  ")])

这个单行将它转换为所需的输出格式。

说明: 最外部的split函数将字符串拆分为单词,list comprehension重新格式化它们,最外层的join将单词重新附加在一起。

答案 5 :(得分:1)

Rgsub的另一个选项:

gsub(" ([^ ])", "\\1", "S H A N N O N  B R A D L E Y")
# [1] "SHANNON BRADLEY"

答案 6 :(得分:0)

在R:

x <- "S H A N N O N     B R A D L E Y"
paste(gsub(' ', '', unlist(strsplit(x, split = '     '))), collapse = ' ')

答案 7 :(得分:0)

Python实现:

SOLUTION
  |—— WEB.API Project  
  |—— Website pages Project
  '—— Other projects related to functionalities

答案 8 :(得分:0)

在Python中

In [1]: s="S H A N N O N     B R A D L E Y"
In [2]: "".join( [i.replace(' ','')  if i !='' else i.replace('',' ') for i in s.split('  ') ])
Out[2]: 'SHANNON BRADLEY'