文献翻译格式化

自动移除从PDF等复制的文本中包含的换行符,不需要的连接符,测试了谷歌翻译,有道翻译。一般只用这两个。

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         文献翻译格式化
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  自动移除从PDF等复制的文本中包含的换行符,不需要的连接符,测试了谷歌翻译,有道翻译。一般只用这两个。
// @author       zhengyangqi
// @match        https://translate.google.com/*
// @match        https://translate.google.cn/*
// @match        http://fanyi.youdao.com/
// @icon         https://translate.google.cn/favicon.ico
// ==/UserScript==

javascript: document.getElementsByTagName('textarea')[0].addEventListener('input',
    function ()
    {
        var txt = "";
        txt = document.getElementsByTagName('textarea')[0].value;

        //第一步:连字符与换行连用表示单词拼接
        txt = txt.replace(/-\n/g,"");
        txt = txt.replace(/- /g,""); //有的连字符后面有空格

        //第二步:换行符替换为空格
        txt = txt.replace(/(?<![\.?!;:\n])\n/g," "); //(?<![\.?!;:\n])这个用法不明白,我在\n后面添加无效
        txt = txt.replace(/([\.?!;:])\n([0-9a-zA-z])/g,"$1 $2"); //以句号、问号、感叹号、分号、冒号结尾,但是后一个字符为0-9a-zA-z,也替换为空格。使用分组

        //第三步:去除段开头空格
        txt = txt.replace(/(\n) +/g,"$1");

        //第四步:换行符替换为双回车
        txt = txt.replace(/(?<=[\.?!;:])\n+/g,"\n\n");

        document.getElementsByTagName('textarea')[0].value = txt;
    }
);