python - 如何检查字符串是否在新行的开头?
问题描述
我正在尝试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 =
. 据我所知,没有办法检查字符串是否正好在换行符处开始。有任何想法吗?
解决方案
当您在搜索词之前包含换行符时,第一次调用 find() 应该可以正常工作。我注意到你第二次调用它时,你没有那个换行符。这样一来,在找到第一个(从换行符开始)之后,它将从那里继续,并找到任何结果,无论它是否从换行符开始。
推荐阅读
- php - PHP Curl Post 使 ¤cy 变成奇怪的字符
- javascript - 如何从数组中删除特定项目?
- reactjs - 图像未显示在 ReactJs 中
- java - 如何在docker容器中公开两个端口
- session - 在一天结束时停止画线
- c - 在C中放置负值后如何停止程序
- ios - 检测到二维码,但在 iphone 中未找到可用数据
- java - 无法配置数据源:未指定“url”属性,并且无法配置嵌入式数据源。添加了依赖,url信息
- folium - Folium 的指数或对数 ColorMap
- google-app-engine - '未找到服务“%s”的 api 代理' % service AssertionError: 未找到服务“datastore_v3”的 api 代理