[英]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(" ")])
這個單行將它轉換為所需的輸出格式。
說明:最外層拆分函數將字符串拆分為單詞,列表解析重新格式化它們,最外層連接將單詞重新附加在一起。
R
與gsub
另一個選項:
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.