从字符串中获取特定字母

Get specific letters from a string

我的输入是一个变量是一个字符串:

 entity = "SmartSys_1_13_PP"

我需要额外添加实体名称的最后两个字母。在这种情况下,结果将是 PP。

一个可能的解决方案是使用 _ 分隔名称,然后将最后一个字段视为答案。有没有一行可以直接解析最后两个字母?

你我使用字符串切片。对于您的情况,它将是:name[-2:]

但不要忘记添加检查,因为它会 return 字符串,以防字符串长度小于 2。你的代码应该是这样的:

if len(name) > 2:
    print name[-2:]
else:
    # Whatever you want to do

### For example:
>>> '12345'[-2:]
'45'
>>> '1'[-2:]
'1'
>>> ''[-2:]
''

Python strings 是单个字符的序列。您可以像对 Python 列表进行切片一样对它们进行切片。

entity = 'SmartSys_1_13_PP'
print(entity[-2:])
PP

按照您的建议,您可以拆分 '_' 上的字符串,然后获取最后一个子字符串:

>>> entity = "SmartSys_1_13_PP"
>>> entity.split('_')[-1]
'PP'