2014-09-19 53 views
0

我想知道是否有方法或方法返回不在字符串中的字母。Python:返回不在字符串中的字母

含義:假設我有「測試」一詞。 "ing" in "testing"返回true,但我想在"testing"NOT in "ing"返回字母--- "test"

我的計劃是在這個方向走:但顯然這是錯的,我一直停留在這一段時間。

str = "testing" 

cmpr = "ing" 

    if cmpr in str 
     return *letters* not cmpr in string 

output = "test" 

編輯更好的例子:(其中字母不會出現在一排)

海峽= 「測試」

CMPR = 「TET」

str.replace( cmpr,'',1)---->我想讓它回到「唱歌」,但它仍然返回「測試」

有人可以幫我解決這個問題嗎?

+0

例如 「唱」 被轉換「S 「? – 2014-09-19 02:44:04

+1

如果你有'cmpr ='ab''和'str ='ababac''會怎麼樣?你想要「abac」,「ac'',」c''還是別的什麼? (另外,不要命名你的字符串'str',或者當你嘗試調用'str(something)'時,你會得到一個奇怪的TypeError。) – user2357112 2014-09-19 02:44:23

+0

你的情況我想要abac – user2456977 2014-09-19 02:47:47

回答

1

這裏是解決方案:

str = "ababac" 
cmpr = "ab" 

for chr in cmpr: 
    if chr in str: 
     str = str.replace(chr,'',1) 
print str 
2

你可以試試這個:

str.replace(cmpr,'') 
+0

非常感謝! – user2456977 2014-09-19 02:49:47

+0

「測試」---「tet」--->我想讓它迴歸「唱」它仍然會返回「測試」 – user2456977 2014-09-19 03:54:57

0

好吧,如果測試是7個字符長..

0 | 1 | 2 | 3 | 4 | 5 | 6 |

T | E | S | T | I | N | G |

您可以打印出前6個字符:

print my_string[0:6] 

所以,我認爲,你可以通過以下:(打印)

return my_string(0:6) 

我沒有Python的啓動和運行,以測試這個。這就是我要開始的地方。

爲了澄清,你可以說

return testing(0:3) 

所以輸出應該是:

test 
相關問題