gpt4 book ai didi

python - 删除字符串中的特定字符(Python)

转载 作者:太空宇宙 更新时间:2023-11-03 21:15:29 24 4
gpt4 key购买 nike

我想在写入 .txt 之前从字符串的开头和结尾删除一些内容

我正在从串行端口读取传入的字符串。我想将字符串写入 .txt 文件,我可以做到。我尝试过使用 rstrip() 函数(也尝试过 strip() 函数)来删除最后的“OK”,但没有成功。

理想情况下,我希望程序是动态的,这样我就可以将它用于其他文件。这会产生一个问题,因为字符串开头和结尾中不需要的文本可能会有所不同,因此我无法查找要删除的特定字符/单词。

尽管如此,字符串开头的所有不需要的文本都将以 '+' 开头,如下例所示(可以检查第一行是否以'+',如果存在则将其删除。这将是理想的选择)。

def write2file():
print "Listing local files ready for copying:"
listFiles()
print 'Enter name of file to copy:'
name = raw_input()
pastedFile = []
tempStr = readAll('AT+URDFILE="' + name + '"') #Calls another function who reads the file locally and return it in a string
tempStr = tempStr.rstrip('OK') #This is where I try to remove the 'OK' I know is going to be in the end of the string
pastedFile[:0] = tempStr #Putting the string into a list. Workaround for writing 128 bytes at a time. I know it's not pretty, but it works :-)
print 'Enter path to file directory'
path = raw_input()
myFile = open(join(path, name),"w")
while len(pastedFile):
tempcheck = pastedFile[0:128]
for val in tempcheck:
myFile.write(val)
del pastedFile[0:128]
myFile.close()

我希望.txt包含本地文件中的所有文本,但最后删除OK。程序运行时返回:

+URDFILE: "develop111.txt",606,"** ((content of local file)) OK

我想删除的“确定”仍然在那里。

最终 .txt 文件中也不需要文本 "+URDFILE: "develop111.txt",606,"

总结一下问题:

在将字符串写入 .txt 文件之前,如何删除字符串开头和结尾中不需要的文本

最佳答案

我假设您的URDFILE始终具有与AT命令相同的返回模式+URDFILE: "filname",filesize,"filedata"\nOK。因此, ''.join(tempStr.split(',')[3:])[:-3]

就足够了

工作示例:

>>> s = '+URDFILE: "filname",filesize,"filedata, more data"\nOK' 
>>> ','.join(s.split(',')[2:])[:-3]
'"filedata, more data"'

或者用引号删除:

>>>','.join(s.split(',')[2:])[1:-4]
'filedata, more data'

关于python - 删除字符串中的特定字符(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54745928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com