簡體   English   中英

如何刪除文本之間的單個空格

[英]How to remove single space between text

這是給出"SHANNONBRADLEY"的輸入(每個字母之間的單個空格,但是SHANNON和BRADLEY之間有2個空格)我希望輸出采用這種格式(如下所示)

SHANNON BRADLEY

任何方式在R或Python中執行此操作

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)

如果所有字母都用一個空格分隔,所有單詞用兩個分隔,那么你可以這樣做:

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

你可以在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)])

使用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

輸出:

在此輸入圖像描述

Python實現:

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

這個單行將它轉換為所需的輸出格式。

說明:最外層拆分函數將字符串拆分為單詞,列表解析重新格式化它們,最外層連接將單詞重新附加在一起。

Rgsub另一個選項:

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

在R:

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

Python實現:

import re
re.sub(' (?! )', '', "S H A N N O N  B R A D L E Y")
#"SHANNON BRADLEY"

在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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM