2010-12-13 97 views

回答

8

這裏有幾種方法來做到這一點。

你可以用一個自己的切片替換整個字符串。

s = "hello" 
s = s[:-3] # string without last three characters 
print s 
# he 

或者,您可以顯式地從字符串中剝離最後三個字符,然後將其指定回字符串。雖然可以說可讀性更高,但效率更低。

s = "hello" 
s = s.rstrip(s[-3:]) # s[-3:] are the last three characters of string 
         # rstrip returns a copy of the string with them removed 
print s 
# he 

在任何情況下,你必須,因爲他們是「不可改變的」,以取代與修改後的版本字符串的原始值(不變),一旦設置的值。

+0

請注意最後一個選項: 's =「helloxxxhelloxxx」 s = s.replace(s [-3:],'' ) print s' – se1by 2015-10-07 09:06:15

+0

@ se1by:好點...回答相應更新。 – martineau 2015-10-07 10:04:57

1

類型的 「hello」[2]

或 「你好」[: - 3]這是除去最後三個字母

希望回答這有助於

+0

這不是被要求是什麼;要求的是去掉最後三個,而不是前兩個。 – 2010-12-13 07:18:35

+0

我只是把注意力集中在「他」上,「好吧」:),雖然 – 2010-12-13 07:29:11

4

"hello"[:-3] - 第一length - 3字符。

"hello"[:2] - 前2個字符。

0

"hello"[:2]是這樣做的最簡單的方法,但是問題 的準確答案將會像Saif al Harthi所述的那樣。 "hello"[:-3]

-1

如果x是你的字符串,那麼你可以使用x[:len(x)-3:+1]來獲得期望的結果

+2

這可行,但它是一種非常糟糕的風格,效率低下,多餘,因此容易出錯。 – Davidmh 2014-08-15 11:39:15