【发布时间】:2018-07-27 15:12:01
【问题描述】:
我一直在开发一个将采用十六进制文件的程序,如果文件名以“CID”开头,那么它应该删除前 104 个字符,然后是几个单词。我也想删除单词后面的所有内容,但问题是我要隔离的部分长度不同。
我的代码目前是这样的:
y = 0
import os
files = os.listdir(".")
filenames = []
for names in files:
if names.endswith(".uexp"):
filenames.append(names)
y +=1
print(y)
print(filenames)
for x in range(1,y):
filenamestart = (filenames[x][0:3])
print(filenamestart)
if filenamestart == "CID":
openFile = open(filenames[x],'r')
fileContents = (openFile.read())
ItemName = (fileContents[104:])
print(ItemName)
输入示例文件(从 HxD 中提取):
.........................ýÿÿÿ................E.................!...1AC9816A4D34966936605BB7EFBC0841.....Sun Tan Specialist.................9.................!...9658361F4EFF6B98FF153898E58C9D52.....Outfit.................D.................!...F37BE72345271144C16FECAFE6A46F2A.....Don't get burned............................................................................................................................Áƒ*ž
我已经删除了前 104 个字符,但我还想删除“Sun Tan Specialist”之后的字符,因为长度会有所不同,所以我只剩下那部分了。
感谢任何人能给我的任何帮助。
【问题讨论】:
-
您的问题标题是“从字符串中删除非字母字符”。从您问题的内容来看,似乎还有更多的要求。请通过示例输入、所需输出和minimal reproducible example 进行澄清
-
我添加了一个示例文件以及我希望输出的内容
-
那么你想要的输出是什么?只是
Sun Tan Specialist? -
试试
re.sub(r'(.*?)(\..*)', r'\1', s[104:]) -
在这一点上是的,但理想情况下我想:“晒黑专家 | 不要被烫伤”