首页 > 解决方案 > 基于函数+1的麻烦切片

问题描述

我正在尝试搜索c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())"拉取它和它前面的所有信息。即我想要12"

我以为我可以只搜索在什么位置"...

def find_nps_via_comma_item_one():
    nps = '"'
    print(c_item_number_one.find(nps))
find_nps_via_comma_item_one()

显示上述函数结果的图像为 2 ,然后在它之后切掉所有内容

c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())

def find_nps_via_comma_item_one():
    nps = '"'
    print(c_item_number_one.find(nps))
find_nps_via_comma_item_one()

item_one_nps = slice(3)
print(c_item_number_one[item_one_nps])

问题:它返回一个错误

print(c_item_number_one[item_one_nps])

TypeError: slice indices must be integers or None or have an __index__ method

如何将函数的结果转换为整数?我试过改成print(c_item_number_one.find(nps))return(c_item_number_one.find(nps))但后来它完全停止了给出一个值。

最后,切片部分不会产生我正在寻找的完整答案12"。即使我输入函数产生的值2

item_one_nps = slice(2)
print(c_item_number_one[item_one_nps])

它只给我12。我需要+1函数结果。

标签: pythonfindslicers

解决方案


你可以做

sep_char = "\"" 
c_item_number_one.split(sep_char)[0] + sep_char

推荐阅读