![](/img/trans.png)
[英]String manipulation in Python (All upper and lower case derivatives of a word)
[英]String and word manipulation in Python
例:
我有一句話“ Face book是一家社交網絡公司”,我想通過將“ Face”和“ book”連接到“ Facebook”進行清理。 我想檢查並執行許多句子。 關於如何執行此操作的任何建議?
我想到了這樣的思路:首先對句子進行標記,然后遍歷每個單詞,並檢查“ face”之后的標記(單詞)是否為“ book”,然后刪除這兩個元素以及所有的“ Facebook”。
一個簡單的基於正則表達式的方法不夠嗎?
>>> import re
>>> s='Face book is a social networking company'
>>> re.sub(r'[Ff]ace [Bb]ook', 'Facebook', s)
'Facebook is a social networking company'
對我而言,在python中執行此操作最直接的方法是使用元組。 只需將所有字符串打包成一個元組,並在應用str.replace(old,new)方法的同時循環遍歷即可。 str.replace(old,new)用您指定的新子字符串替換字符串str中的子字符串。 下面的例子:
碼:
string1 = "Face book is a social networking company1"
string2 = "Face book is a social networking company2"
string3 = "Face book is a social networking company3"
old = "Face book"
new = "Facebook"
superdupletuple = (string1, string2,string3)
for i in superdupletuple:
print(i.replace(old, new))
輸出:
Facebook is a social networking company1
Facebook is a social networking company2
Facebook is a social networking company3
在Python中,這可能看起來像這樣:(請記住,這只是一個粗略的主意,並非在所有情況下都是完美的)
----------
string = “I use Face book”
tokenized = string.split(“ “)
for i in range(0,len(tokenized)-1):
if tokenized[i].lower()==“face” and tokenized[i+1].lower()==“book”:
del tokenized[i+1]
tokenized[i] = “Facebook”
if i > len(tokenized):
break
-----------
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.