str.split()[]-如何运作?

时间:2019-05-15 13:07:02

标签: python-3.x automation

我想从文件名“。”中提取下一部分,即000.xyz。 [文件名为Axx-000.xyz]

所以我的朋友给我看了这段代码,但我听不懂代码。

def get_rank(xyz):                       
    pref = xyz.split('-')[1]             
    pref = pref.replace('.xyz', '')     
    return pref

我希望代码将结果显示为Axx-000.xyz应该为000或000.xyz

非常感谢。

2 个答案:

答案 0 :(得分:2)

因此,这里是逐行对此功能的说明。

pref = xyz.split('-')[1]:此行可以分为以下两行:

  1. split_string = xyz.split('-')
  2. pref = split_string[1]

第一行的意思是“查看字符串并在找到字符'-'的任何地方剪切它。例如,对于字符串“ Axx-000.xyz”,该字符被发现一次,splitted_string将是一个2个字符串的列表:["Axx","000.xyz"]

第二行的意思是“将split_string放入列表的第二个元素。

然后,行pref = pref.replace('.xyz', '')调用方法replace,这意味着:“查看字符串,然后在找到字符串'.xyz'的任何地方,将其替换为''(什么都没有。)

因此,函数返回的值包含表["Axx","000.xyz"]的第二个元素,而没有'.xyz',因此仅包含000

答案 1 :(得分:0)

您使用def定义python函数,括号内有您在调用函数时定义的函数参数(例如get_rank("Axx-000.xyz"))。

pref = xyz.split('-')[1]在这里,您用-拆分xyz字符串,并将拆分后的元素分配给数组。 pref变量获取该数组的索引[1]的值(第二个值)。

pref = pref.replace('.xyz', '')在这里,您只需将'.xyz'短语替换为'',将其他词从字符串中删除.xyz

在最后一行,您得到最终结果-000字符串。