【发布时间】:2013-08-06 16:34:32
【问题描述】:
我有一个名为“beats”的二维数组,其中包含一堆数据。在数组的第二列中,有一个按字母顺序排列的单词列表。
我还有一个句子叫“words”,原本是一个字符串,我把它变成了一个数组。
我需要检查“words”中的某个单词是否与数组“beats”第二列中的任何单词匹配。如果找到匹配项,程序将句子“words”中匹配的单词更改为“match”,然后以字符串形式返回单词。这是我正在使用的代码:
i = 0
while i < len(words):
n = 0
while n < len(beats):
if words[i] == beats[n][1]:
words[i] = "match"
n = n + 1
i = i + 1
mystring = ' '.join(words)
return mystring
所以如果我有这句话:
"Money is the last money."
而“money”在数组“beats”的第二列,结果是:
"match is the last match."
但由于“匹配”后面有句号,所以它不认为它是匹配的。
有没有办法在比较两个字符串时忽略标点符号?我不想去掉标点符号的句子,因为我希望在我的程序完成替换匹配项后返回字符串时标点符号保持完整。
【问题讨论】:
-
应该
words = "match"不是words[i] = "match"?您似乎正在用字符串“match”覆盖您的words数组。 -
我打错了,原来是这样,谢谢,我改一下。