根据开始和结束位置python从字符串中获取子字符串

时间:2016-11-01 16:49:52

标签: python string

如何根据开始和结束位置从字符串中获取子字符串,并为表中的每一行执行此操作。起始位置和结束位置在与初始字符串相同的行中的相同表中,但在不同的列中。 输入:

String                      Start End
1. Kids walking to school   0     3
2. Hello world              2     4
3. Today is a great day     6     9

期望的输出:

String                      Start End Substring
1. Kids walking to school   0     3   Kids
2. Hello world              2     4   llo
3. Today is a great day     6     9   is a

2 个答案:

答案 0 :(得分:1)

您可以使用字符串切片,就像您对列表所做的那样,或任何其他序列。对于字符串string = 'Kids walking to school'string[0:4]将返回“儿童”。请注意,切片从索引0开始,在索引3(4 - 1)处停止。

以下代码段将为您提供有关如何继续的提示。

table = [
('Kids walking to school', 0, 3),
('Hello world', 2, 4),
('Today is a great day', 6, 9)
]

substring = []

for line in table:
    substrig.append(line[0][line[1]:line[2] + 1])

由于你没有提到你是什么类型的数据结构以及如何得到它,我用一个元组列表(string,start,stop)来抽象它。我们的想法是,对于表中的每一行,您将获得子串字符串[start:stop + 1]。

答案 1 :(得分:0)

table = [
['Kids walking to school', 0, 3],
['Hello world', 2, 4],
['Today is a great day', 6, 9]
]

substring = []

for line in table:
    size = line[0].find(' ')
    substring = line[0]
    line.append(substring[0:size])

print(table)

请使用列表,而不要使用元组数据类型来保存表值,因为python中的元组是不可变的数据类型。要根据需要更新表条目,可以使用上面的代码段。