查找非英语字符串中的子字符串[乌尔都字符串]



我希望找到乌尔都语字符串中的子字符串。例如,假设我有以下乌尔都语字符串和子字符串:

fullstring = "آزاد دائرۃ المعارف، ویکیپیڈیا"
substring1 = "افریقی نژاد امریکی شہری حقوق کی تحریک (1955–1968) - آزاد دائرۃ ..."
substring2 = "Urdu English Translator حاصل کریں - Microsoft Store ur-PK"
substring3 = "ببر شیر - آزاد دائرۃ المعارف، ویکیپیڈیا"
substring4 = "اقوام متحدہ - ویکیپیڈیا"
substring5 = "واقعہ کربلا - آزاد دائرۃ المعارف"
substring6 = "Inaugural Address - Urdu | JFK Library"
substring7 = "دنیا میں امریکہ کے مقام کے بارے میں صدر بائیڈن کا خطاب - United ..."
substring8 = "ایران امریکہ کشیدگی: امریکی صدور اور جنگوں کی مبہم قانونی ..."
目标是搜索/查找fullstring中存在的单词。子字符串然后选择相应的子字符串进行进一步处理。特别是,任何子字符串中出现的最小单词应该是"آزاد دائرۃ">

.在上面给出的示例中,substring1,substring3,substring4,和substring5(True),而其余的子字符串不应该被选中(False).

我已经编写了以下代码来实现上述给定的任务:

fullstring = "آزاد دائرۃ المعارف، ویکیپیڈیا"
substring = "افریقی نژاد امریکی شہری حقوق کی تحریک (1955–1968) - آزاد دائرۃ ..."
# extract the part after the "-" part
s = substring.split("-")[1]
# remove any spaces if they are present
s = s.strip()
if s in fullstring:
print("Found!")
else:
print("Not found!")

代码给我未找到!所有子字符串的响应。而它应该返回Found!substring1substring3substring4substring5,和Not found!

请帮助我实现上述子字符串搜索任务。

你应该试试这个:

fullstring = "آزاد دائرۃ المعارف، ویکیپیڈیا"
substring = "افریقی نژاد امریکی شہری حقوق کی تحریک (1955–1968) - آزاد دائرۃ ..."
# extract the part after the "-" part
s = substring.split("-")[1]
# remove any spaces if they are present
s = s.strip().replace(".","")
if s in fullstring:
print("Found!")
else:
print("Not found!")

striped,s就像آزاد دائرۃ ...,但你在fullstring中没有...,所以你得到Not found

或者你可以像这样使用.find()函数:

fullstring = "آزاد دائرۃ المعارف، ویکیپیڈیا"
substring = "افریقی نژاد امریکی شہری حقوق کی تحریک (1955–1968) - آزاد دائرۃ ..."
# extract the part after the "-" part
s = substring.split("-")[1]
# remove any spaces if they are present
s = s.strip()
if fullstring.find(s)!=-1:
print("Found!")
else:
print("Not found!")

对于所有子字符串,您可以尝试:

fullstring = "آزاد دائرۃ المعارف، ویکیپیڈیا"
substring1 = "افریقی نژاد امریکی شہری حقوق کی تحریک (1955–1968) - آزاد دائرۃ ..."
substring2 = "Urdu English Translator حاصل کریں - Microsoft Store ur-PK"
substring3 = "ببر شیر - آزاد دائرۃ المعارف، ویکیپیڈیا"
substring4 = "اقوام متحدہ - ویکیپیڈیا"
substring5 = "واقعہ کربلا - آزاد دائرۃ المعارف"
substring6 = "Inaugural Address - Urdu | JFK Library"
substring7 = "دنیا میں امریکہ کے مقام کے بارے میں صدر بائیڈن کا خطاب - United ..."
substring8 = "ایران امریکہ کشیدگی: امریکی صدور اور جنگوں کی مبہم قانونی ..."
allsub=[substring1,substring2,substring3,substring4,substring5,substring6,substring7,substring8]
for a in allsub:
try:
s=a.split("-")[1].strip(". ").strip()
except IndexError:
s=a.split("-")[0].strip(". ").strip()
if fullstring.find(s)!=-1:
print("Found!")
else:
print("Not found!")

输出:

Found!
Not found!
Found!
Found!
Found!
Not found!
Not found!
Not found!

我已经创建了所有子字符串的列表作为allsub,并检查你正在做什么。此外,我已经完成了try-except,因为在一些子字符串中没有-,我们选择列表的第二个元素。所以,有时它通过错误。但是如果我们使用try-expect,那么它将执行except部分,而不是抛出错误。

试一试:

fullstring = "آزاد دائرۃ المعارف، ویکیپیڈیا"
substring1 = "افریقی نژاد امریکی شہری حقوق کی تحریک (1955–1968) - آزاد دائرۃ ..."
substring2 = "Urdu English Translator حاصل کریں - Microsoft Store ur-PK"
substring3 = "ببر شیر - آزاد دائرۃ المعارف، ویکیپیڈیا"
substring4 = "اقوام متحدہ - ویکیپیڈیا"
substring5 = "واقعہ کربلا - آزاد دائرۃ المعارف"
substring6 = "Inaugural Address - Urdu | JFK Library"
substring7 = "دنیا میں امریکہ کے مقام کے بارے میں صدر بائیڈن کا خطاب - United ..."
substring8 = "ایران امریکہ کشیدگی: امریکی صدور اور جنگوں کی مبہم قانونی ..."
allstrings = (substring1, substring2, substring3, substring4, substring5, substring6, substring7, substring8)
for a in allstrings:
try:
s = a.split("-")[1]
except:
s = a
s = s.strip().replace(".", "")
if s in fullstring:
print("Found!")
else:
print("Not found!")

输出:

Found!
Not found!
Found!
Found!
Found!
Not found!
Not found!
Not found!

相关内容

  • 没有找到相关文章

最新更新