MySQL批量重命名:将字符串前缀内容移至后缀
批量调整字符串格式:将开头固定部分移至末尾
需求:把格式为'[123] X'的字符串批量修改为'X [123]',其中[123]是固定前缀,X/Y/Z为任意内容。
方法1:文本编辑器正则替换(VS Code/Notepad++/Sublime通用)
直接用正则表达式匹配并替换,步骤如下:
- 打开待处理文本,调出替换面板(VS Code按
Ctrl+H,Notepad++按Ctrl+H) - 开启「正则表达式」模式(VS Code勾选
.*,Notepad++选择「正则表达式」) - 输入以下内容:
- 查找:
^\'(\[123\]) (.*)\'$ - 替换:
\'$2 $1\'
- 查找:
- 点击「全部替换」即可完成批量修改
正则说明
^\':匹配字符串开头的单引号(\[123\]):捕获固定部分[123](括号需转义)(.*):捕获固定部分之后的所有内容(即X/Y/Z部分)\'$:匹配字符串结尾的单引号$2 $1:将捕获的第二部分(变量内容)和第一部分(固定前缀)交换位置
方法2:Python脚本批量处理(适合大量文本/自动化场景)
如果需要处理超大量文本或者集成到工作流,可以用Python脚本实现:
# 读取输入文件(将待处理文本保存为input.txt) with open('input.txt', 'r', encoding='utf-8') as input_file: lines = input_file.readlines() processed_content = [] fixed_prefix = '[123]' for line in lines: stripped_line = line.strip() # 跳过空行 if not stripped_line: processed_content.append(stripped_line) continue # 去掉首尾的单引号 raw_content = stripped_line[1:-1] # 判断是否符合目标格式 if raw_content.startswith(fixed_prefix + ' '): # 提取变量部分并重组字符串 variable_part = raw_content[len(fixed_prefix) + 1:] new_line = f"'{variable_part} {fixed_prefix}'" processed_content.append(new_line) else: # 不符合格式的行保持原样 processed_content.append(stripped_line) # 将处理后的内容写入output.txt with open('output.txt', 'w', encoding='utf-8') as output_file: output_file.write('\n'.join(processed_content))
使用方法:
- 把待处理的每行字符串保存到
input.txt - 运行脚本,处理后的内容会生成在
output.txt中 - 脚本会自动跳过空行,不符合格式的行也会保留原样,避免误修改
内容的提问来源于stack exchange,提问作者Doe
相关产品推荐
相关产品推荐

