[英]Remove final character from string
如何从字符串中删除最后一个字符?
"abcdefghij" → "abcdefghi"
简单的:
my_str = "abcdefghij"
my_str = my_str[:-1]
试试下面的代码片段,通过将字符串转换为列表来更好地理解它是如何工作的:
str1 = "abcdefghij"
list1 = list(str1)
print(list1)
list2 = list1[:-1]
print(list2)
如果您想接受来自用户的字符串:
str1 = input("Enter :")
list1 = list(str1)
print(list1)
list2 = list1[:-1]
print(list2)
为了使它从句子中删除最后一个单词(单词用空格等空格分隔):
str1 = input("Enter :")
list1 = str1.split()
print(list1)
list2 = list1[:-1]
print(list2)
您要做的是在 Python 中扩展字符串切片:
假设所有字符串的长度为 10,最后一个字符被删除:
>>> st[:9]
'abcdefghi'
删除最后N
字符:
>>> N = 3
>>> st[:-N]
'abcdefg'
对您来说最简单的解决方案是使用字符串切片。
蟒蛇 2/3:
source[0: -1] # gets all string but not last char
蟒蛇2:
source = 'ABC'
result = "{}{}".format({source[0: -1], 'D')
print(result) # ABD
蟒蛇3:
source = 'ABC'
result = f"{source[0: -1]}D"
print(result) # ABD
使用切片,可以指定start
和stop
索引以提取字符串s
一部分。 格式为s[start:stop]
。 但是,默认情况下start = 0
。 所以,我们只需要指定stop
。
使用stop = 3
:
>>> s = "abcd"
>>> s[:3]
'abc'
使用stop = -1
从末尾删除1
字符(最佳方法):
>>> s = "abcd"
>>> s[:-1]
'abc'
使用stop = len(s) - 1
:
>>> s = "abcd"
>>> s[:len(s) - 1]
'abc'
所以有一个名为rstrip()的 function 用于此类内容。 您输入要删除的值,在本例中是最后一个元素,即字符串 [-1]:
string = "AbCdEf"
newString = string.rstrip(string[-1])
print(newString)
如果您运行他的代码,您会看到“f”值已被删除。
OUTPUT: AbCdE
def RemoveLastOne(text): # RemoveLastOne function
text = str(text) # convert type to str
result = text[:(len(text)-1)] # remove last string
return result #return result without last string
text = 'abcdefghij' #varible
result = RemoveLastOne(text) #input --> abcdefghij
print(result) #output --> abcdefghi
这实际上应该有效:
string = string[0:len(string) - 2]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.