

指令作用:自动清理字符串中的非法字符(例如 Windows 文件名中不允许的符号),并将它们替换为安全的全角字符,防止保存失败或路径错误。
# 使用此指令前,请确保安装必要的Python库:
# 无需安装额外库,使用Python内置模块
from typing import *
try:
from xbot.app.logging import trace as print
except:
from xbot import print
def replace_illegal_characters(input_string: str) -> str:
"""
title: 违规字符替换处理
description: 将字符串中的基础半角非法字符替换为对应的全角字符,并移除制表符和换行符
inputs:
- input_string (str): 输入字符串,eg: "文件名\\test:*?.txt"
outputs:
- processed_string (str): 处理后的字符串,eg: "文件名\test:*?.txt"
"""
# 1. 处理空字符串或None值
if not input_string:
return ""
# 2. 定义字符替换映射表
char_mapping = {
'\\': '\', # 反斜杠替换为全角反斜杠
'/': '/', # 斜杠替换为全角斜杠
':': ':', # 冒号替换为全角冒号
'*': '*', # 星号替换为全角星号
'?': '?', # 问号替换为全角问号
'"': '"', # 双引号替换为全角双引号
'<': '<', # 小于号替换为全角小于号
'>': '>', # 大于号替换为全角大于号
'|': '|' # 竖线替换为全角竖线
}
# 3. 执行字符替换
result = input_string
for illegal_char, legal_char in char_mapping.items():
result = result.replace(illegal_char, legal_char)
# 4. 移除制表符和换行符(保留空格)
result = result.replace('\t', '') # 移除制表符
result = result.replace('\n', '') # 移除换行符
result = result.replace('\r', '') # 移除回车符
# 5. 返回处理结果
return result