2010-12-13 51 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