pdf文献的错误格式 文献引用和文前的数字序列去除

2022年10月9日 19:01:29 最近又用到 改了一下

2022.5.5 学python做的第一个小脚本

学python以来第一次做的小脚本 用于把pdf文献的错误格式 文献引用和文前的数字序列去掉

这个怎么上传pyside2的ui文件呀 想一起记录下来来着...

import pyperclip  # 实现复制文本到剪贴板
import re
import sys
import numpy
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import QApplication


class A:  # 清除空白行
    def b(self, words):
        words = re.sub(r'\n', "",words)
        return words

    def num(self, words):
        words = re.sub(r'(\s\d+)\s', "", words)
        return words

    def eliminate(self, words):  # 去除冗余文献索引
        list = numpy.arange(1980, 2030, 1)  # 年份列表集合
        p = re.compile(r'\(.+?\)')  # 括号内的内容
        for one in p.findall(words):  # 检测年份
            for num in list:
                str(num)
                if str(num) in one:
                    words = words.replace(one, '')  # 移除
        return words  # 返回结果

    def together(self,words):
        A.num(self,words)
        A.eliminate(self,words)


a = A()


class Stats:  # 用户输入窗口
    def __init__(self):
        # 从文件中加载UI定义
        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit
        self.ui = QUiLoader().load('turn.ui')
        self.ui.pushButton.clicked.connect(self.open_new_window)  # 先打开窗口
        self.ui.pushButton.clicked.connect(self.handleCalc1)  # 换行点击操作
        self.ui.pushButton_2.clicked.connect(self.open_new_window)
        self.ui.pushButton_2.clicked.connect(self.handleCalc2)  # 数字点击操作
        self.ui.pushButton_3.clicked.connect(self.open_new_window)
        self.ui.pushButton_3.clicked.connect(self.handleCalc3)  # 数字点击操作
        self.ui.pushButton_4.clicked.connect(self.handleCalc4)  # 数字点击操作

    def open_new_window(self):  # 打开结果窗口
        # 实例化另外一个窗口
        self.b = B()
        # 显示新窗口
        self.b.ui.show()

    def handleCalc1(self):  # 换行 引文
        info = self.ui.textEdit.toPlainText()
        info = a.b(info)
        text = a.eliminate(info)  # 调用A类 #返回A类处理换行文本
        self.b.ui.textEdit.append(text)  # 把处理文本反馈出来
        pyperclip.copy(text)

    def handleCalc2(self):  # 数字清除
        info = self.ui.textEdit.toPlainText()
        text = a.num(info)  # 调用A类 #返回A类处理数字文本
        self.b.ui.textEdit.append(text)
        pyperclip.copy(text)

    def handleCalc3(self):  # 同时清除
        info = self.ui.textEdit.toPlainText()
        info = a.num(info)  # 调用A类 #返回A类处理数字文本
        info = a.b(info)
        text = a.eliminate(info)
        self.b.ui.textEdit.append(text)
        pyperclip.copy(text)

    def handleCalc4(self):#清除
        self.ui.textEdit.clear()


class B:  #

    def __init__(self):
        self.ui = QUiLoader().load('main.ui')  # 先指定ui
        self.ui.buttoncopy.clicked.connect(self.copy)  # 复制到剪贴板

    def copy(self):
        pyperclip.copy(self.ui.textEdit.toPlainText())  # 复制到剪贴板实现   <---把(获取编辑框内的文本内容)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    stats = Stats()
    stats.ui.show()
    sys.exit(app.exec_())

你可能感兴趣的:(ui,python,开发语言)