当前位置: 首页 > 知识库问答 >
问题:

检查字符串中的最后一个字符是否不是字母

姜卜霸
2023-03-14
"A_Origin1_1"

我想删除字符串末尾的所有数字和符号。得到:

"A_Origin"

我可以剥离数字,但不能剥离“_”。我该怎么做?

这是我到目前为止的代码:

def getNumericTail(str):
    return re.split('[^\d]', str)[-1]

def endsWithNumber(str):
    return bool(getNumericTail(str))

def removeNumericalPortion(str):
    return str[:-1];

## IN MAIN ##
fixedName = "A_Origin1_1"
while endsWithNumber(fixedName) == True:
    fixedName = removeNumericalPortion(fixedName);

共有1个答案

干浩阔
2023-03-14

只需反转您的方法--如果最后一个字符是数字,则不要删除它,如果它不是字母,则删除它:

>>> start = "A_Origin1_1"
>>> while start and not start[-1].isalpha():
    start = start[:-1]


>>> start
'A_Origin'

注意,在while测试中包括start可以确保正确处理空字符串;否则,如果删除字符串中的所有字符,它将崩溃:

>>> start = "123"
>>> while not start[-1].isalpha():
    start = start[:-1]



Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    while not start[-1].isalpha():
IndexError: string index out of range

你可能应该看看样式指南;函数名应该是lowercase_with_underscales,并且不应该比较==true

 类似资料:
  • rank ▲ ✰ vote url 41 487 108 705 url 检查一个字符串是否是一个数字 如果一个字符串可以被看做一个数字那么有什么好的方法可以检测出来? 我能想到的方法: def is_number(s): try: float(s) return True except ValueError: return Fals

  • 例如: 字符串1=helloworld字符串2=asdfuvjerhelloworld 这应该是真的。 另一个例子:字符串1=helloworld字符串2=lshewodxzr 这也应该是真的。 所以我正在研究如何创建一个方法,它将返回一个布尔值,检查第二个字符串是否包含第一个字符串中的字母。在第二个示例中,string2只有一次字母l,尽管字母l在string1中出现了三次,但仍然返回true。

  • 问题内容: 如何检查是否是那里的? 我想分配给是否有结果,否则。 我当前的代码是: 问题答案:

  • 问题内容: 如何检查数组中的任何字符串是否在另一个字符串中? 喜欢: 该代码行不通,只是为了展示我想要实现的目标。 问题答案: 你可以使用: 同样,要检查是否找到了列表中的所有字符串,请使用all代替any。

  • 本文向大家介绍C ++中的元字符串(检查一个字符串交换后两个字符串是否可以相同),包括了C ++中的元字符串(检查一个字符串交换后两个字符串是否可以相同)的使用技巧和注意事项,需要的朋友参考一下 在本节中,我们将看到如何检查两个字符串是否为元字符串。元字符串是非常相似的那些字符串。如果我们在一个字符串中交换两个元素,那么它将与另一个字符串匹配。假设两个字符串是“ HELLO”和“ OELLH”,则

  • 我有两个字符串,string1和string2。我想检查string1是否可以由string2中的字符组成(没有重复字符)。例如,如果string1是“工具”,string2是“环礁”,函数将返回false。如果string1是“触摸”,string2是“chetoudce”,它将返回true。 在Javascript中最有效的方法是什么?我在考虑使用indexOf,然后从string2中删除用来