Untitled

 avatar
unknown
plain_text
a year ago
2.0 kB
5
Indexable
    // 定义需要删除的关键词列表
    const keywordsToRemove = [
        'Lv3 ',
        ' [2.0]',
        '🇭🇰'
    ];

    // 定义需要添加的关键词映射
    const keywordsToAdd = {
        '香港|港': '🐬 ',
        '台湾|台': '🐸 ',
        '澳门': '🐹 ',
        '美国': '🦅 '
    };

    // 定义批量替换的映射关系
    const replaceMap = {
        '傻逼': 'SB'
    };

    // 删除 name 字段中包含指定关键词的部分
    const removeKeywords = (name, keywords) => {
        keywords.forEach(keyword => {
            name = name.replace(keyword, '');
        });
        return name;
    };

    // 在 name 字段前面添加指定关键词
    const addKeywords = (name, keywordMap) => {
        let prefixAdded = false;
        for (const [keys, value] of Object.entries(keywordMap)) {
            const keyList = keys.split('|');
            for (const key of keyList) {
                if (name.includes(key)) {
                    name = value + name;
                    prefixAdded = true;
                    break; // 确保只添加一个前缀
                }
            }
            if (prefixAdded) break; // 确保只添加一个前缀
        }
        return name;
    };

    // 批量替换 name 字段中的文本
    const replaceText = (name, replaceMap) => {
        for (const [search, replacement] of Object.entries(replaceMap)) {
            name = name.replace(new RegExp(search, 'g'), replacement);
        }
        return name;
    };

    // 处理 proxies 数组
    if (Array.isArray(rawObj.proxies)) {
        rawObj.proxies = rawObj.proxies.map(proxy => {
            proxy.name = removeKeywords(proxy.name, keywordsToRemove);
            proxy.name = addKeywords(proxy.name, keywordsToAdd);
            proxy.name = replaceText(proxy.name, replaceMap);
            return proxy;
        });
    }
Editor is loading...
Leave a Comment