我比较带有'{'号的字符串有问题。我使用了增量来遍历字符串,并且如果函数find'{'或'}'应该在列表中添加符号。不幸的是,输出为“ IndexError:字符串索引超出范围”。你有想法怎么做吗?
string fileName = @"C:\file_with_paths_to_delete.txt";
var files = File.ReadAllLines(fileName);
foreach(string file in files)
File.Delete(file);
答案 0 :(得分:1)
字符串或列表的最后一个索引为len() - 1
。无论如何,您可能应该使用for ... in ...
循环。实际上,您可以使用sub in my_string
检查子字符串是否在字符串中,从而完全摆脱循环。
答案 1 :(得分:0)
由于字符串以索引0开头,因此使用while i <= len(summary):
遍历字符串是不正确的,因此您应该使用while i < len(summary):
。
更好的方法是使用:
for i in range(len(summary)):
答案 2 :(得分:0)
我看到您没有说“ i”应该从哪开始。需要在使用while循环之前对其进行初始化。我在这里发布了一些示例代码,效果很好。
summary = "{This is some text}"
nws_otw = []
nws_zam = []
i = 0 # Needs to be present
while i < len(summary):
if summary[i] == "{":
nws_otw.append(summary[i])
if summary[i] == "}":
nws_zam.append(summary[i])
i += 1
答案 3 :(得分:0)
谢谢大家的帮助!主要问题是,我使用了:
while i **<=** len(summary):
不是
while i **<** len(summary):
再次感谢您的帮助! :)