Я пытаюсь использовать метод find()
в Python, но столкнулся с проблемой.Похоже, что метод find()
не позволяет вам проверять только текст на новой строке.Код ниже:
def ParseText(self, text):
endIndex = 0
startIndex = text.find("\n/obj/item/clothing")
while startIndex != -1:
text = text[startIndex:]
endIndex = text.find("\n/")
part = text
if endIndex != -1:
part = text[:endIndex]
self.ParseItem(part)
startIndex = text.find("/obj/item/clothing", endIndex)
ParseText
вызывается с полным текстом файла с новыми строками внутри.ParseText
затем ищет /obj/item/clothing
, затем вызывает ParseItem
с дополнительным текстом.
Пример кода товара:
/obj/item/clothing/suit/armor/vest/ert
name = "emergency response team armor"
armor = list(melee=30, bullet=30, laser=30, energy=30, bomb=20, bio=0, rad=0)
Поиск в ParseText
имеет проблему.Пока он обнаружит это:
/obj/item/clothing/suit/armor/vest/ert
Он также обнаружит это:
/datum/outfit/job/centcom/response_team/commander/amber
suit = /obj/item/clothing/suit/armor/vest/ert/command
Обратите внимание на пробел и suit =
.Из того, что я могу сказать, нет никакого способа проверить, начинается ли строка точно с новой строки.Есть идеи?