:有一份文件,文件内容如下: 张三 居住地:武汉 身份证号:420111199909091234 手机号:13212341234 现在需要一份去除其中敏感信息的版本,将文件中所有手机号的4-7位和身份证号的7-14位用*替换,
时间: 2024-04-02 08:36:32 浏览: 31
可以使用 Python 的字符串操作和正则表达式来实现对文件中敏感信息的替换。以下是一个示例代码:
```python
import re
filename = 'file.txt'
with open(filename, 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式查找手机号和身份证号
pattern = re.compile(r'1\d{2}(\d{4})\d{4}')
content = pattern.sub(r'1****\1', content)
pattern = re.compile(r'\d{6}(\d{8})\d{4}')
content = pattern.sub(r'******\1****', content)
# 将处理后的内容写入新文件
with open('new_file.txt', 'w', encoding='utf-8') as f:
f.write(content)
```
这个代码会打开一个名为 `file.txt` 的文件,读取其中的内容。然后使用正则表达式查找手机号和身份证号,并将敏感信息部分替换成 * 号。最后将处理后的内容写入一个新文件 `new_file.txt`。需要注意的是,这个代码仅适用于示例中给出的具体格式的文件,如果文件格式不同,可能需要修改正则表达式来适应实际情况。
相关问题
要求:有一份文件,文件内容如下: 张三 居住地:武汉 身份证号:420111199909091234 手机号:13212341234 现在需要一份去除其中敏感信息的版本,将文件中所有手机号的4-7位和身份证号的7-14位用*替换
好的,这是一个 Python 的代码实现,使用正则表达式来匹配出手机号和身份证号,并将敏感信息替换为 *:
```python
import re
with open("file.txt", "r", encoding="utf-8") as f:
content = f.read()
# 将手机号的4-7位和身份证号的7-14位替换为 *
content = re.sub(r"(\d{3})\d{4}(\d{4})", r"\1****\2", content) # 手机号
content = re.sub(r"(\d{6})\d{8}(\w{4})", r"\1********\2", content) # 身份证号
# 输出去除敏感信息后的文件内容
print(content)
```
这段代码中,首先使用 `with open` 语句打开文件,然后使用 `re.sub` 函数来替换手机号和身份证号。其中,正则表达式 `(\d{3})\d{4}(\d{4})` 匹配手机号的前三位和后四位,然后将中间的四位用 * 替换掉;正则表达式 `(\d{6})\d{8}(\w{4})` 匹配身份证号的前六位和后四位,将中间的八位用 * 替换掉。
最后,使用 `print` 函数输出去除敏感信息后的文件内容。
假设我们有一份文件(编码格式UTF-8),文件中包含了很多个人隐私信息。 现在需要一份去除其中敏感信息的版本,将文件中所有手机号的4~7位和身份证号的7~14位用 * 替换。 示例: 如果读入文件内容为: 张三 居住地:武汉 身份证号:420111199909091234 手机号:13013013130
好的,我可以为您提供代码实现。
```python
import re
# 读入文件内容
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 正则表达式匹配手机号和身份证号
pattern1 = re.compile(r"(?<=手机号:)\d{3}\d{4}(\d{4})")
pattern2 = re.compile(r"(?<=身份证号:\d{6})\d{7}(\d{1,3}[\dxX]{1})")
# 将匹配到的位置替换为 *
content = pattern1.sub(r"****\g<1>", content)
content = pattern2.sub(r"*******\g<1>", content)
# 输出替换后的内容
print(content)
```
这段代码会读取名为 `file.txt` 的文件内容,并使用正则表达式匹配其中的手机号和身份证号。然后,将匹配到的位置替换为 *,最终输出替换后的内容。
注意,这个代码只是一个简单的示例,实际情况可能会更加复杂。在处理敏感信息时,需要格外小心,确保替换的信息以及替换的方式都符合相关法律法规。
阅读全文