python提取指定字符
⑴ python批量提取txt文件中的特定字符后的数字
2、待读取文件
是以":"作为分隔符的数据,每一行以回车结束。此文件为XXX.train
3、读取每一句中的汉字
1234567891011...file_train = os.path.join(rootDir,"data/train/rg_train_"+modle_date+"_"+aiscene+".train")with open(file_train, 'r')as fp:textlist = fp.readlines()for text in textlist:if ":" in text:L4ID = text.split(":")[-2]Msg = text.split(":")[-1]if query_start == Msg.strip(" "):print("Msg is in train:",Msg)...
代码中先获取文件,然后读取每一行,然后以":"作为分隔符。(-1代表倒数第一个,-2代表倒数第二个)
不管是txt文件还是xml文件还是其他的,都可以用这种方法来批量替换文件中字符串:
1234567891011121314151617# -*- coding:utf-8 -*-__author__ = 'ShawDa'import globxmls = glob.glob('xml_files/*.xml')for one_xml in xmls:print(one_xml)f = open(one_xml, 'r+', encoding='utf-8')all_the_lines = f.readlines()f.seek(0)f.truncate()for line in all_the_lines:line = line.replace('dog', 'pig')line = line.replace('cat', 'bike')f.write(line)f.close()
⑵ python 获取文本里指定字符
在Python编程语言中,我们可以使用正则表达式来处理文本文件中的字符。假设我们想要从一个名为"test"的文件中提取所有的大写字母,可以采用以下步骤来实现这一目标。
首先,我们需要打开这个文件,读取其内容。这可以通过Python内置的文件操作函数来完成。代码如下:
file = open('test', 'r')
接着,我们需要读取文件中的所有内容。这可以通过调用文件对象的read方法来实现。
text = file.read()
读取完成后,我们需要使用正则表达式找出所有的大写字母。这里使用findall函数来查找符合特定模式的所有子串,模式是'[A-Z]',它匹配任何大写字母。
list = re.findall(r'[A-Z]', text)
最后,我们需要将这个列表转换为一个字符串。这可以通过join方法来实现,将列表中的所有元素连接起来,并使用空字符串作为分隔符。
result = ''.join(list)
将结果存储在变量result中,然后输出这个结果。
print result
通过以上步骤,我们就可以从一个文本文件中提取出所有的大写字母,并将它们连接成一个字符串输出。这种方法在处理文本数据时非常有用,特别是在需要分析或提取特定类型的信息时。
在实际应用中,这个方法可以应用于各种场景,例如从日志文件中提取错误信息、从网页中提取关键词等。通过调整正则表达式模式,我们可以轻松地匹配和提取不同类型的字符。
需要注意的是,这种方法假设文件是以文本格式存储的,并且所有的大写字母都是我们想要提取的目标。如果文件是二进制格式,或者包含非ASCII字符,可能需要进行额外的处理。
总之,利用Python的正则表达式功能,我们可以方便地从文本文件中提取特定类型的字符,这对于文本处理和数据分析非常有帮助。
⑶ python 新手请教,用python取字符串中最后的一个特定字符之前的字符串,谢谢了
在Python中,处理字符串时,经常需要提取特定部分的字符串。比如,你有一个路径字符串:
s = "C:/Python27/1/3.py"
你想要获取路径中最后一个斜杠"/"之前的部分,可以使用字符串的方法rfind()来找到最后一个斜杠的位置,然后使用切片操作来获取所需的字符串。具体步骤如下:
1. 使用rfind()方法找到最后一个斜杠的位置:
pos = s.rfind("/")
2. 使用切片操作s[:pos]获取从字符串开始到斜杠之前的部分:
s[:pos] # "C:/Python27/1"
这个方法适用于任何包含多个斜杠的路径字符串,能够准确地获取最后一个斜杠之前的路径部分。
如果你有其他字符串处理的需求,也可以使用类似的方法。比如,你想要从一个包含多个"/"的字符串中提取特定部分,可以先找到目标字符的位置,然后进行切片操作。
希望这个例子对你有所帮助!如果你在处理字符串时遇到其他问题,欢迎继续提问。