代码之家  ›  专栏  ›  技术社区  ›  erotavlas

如何处理句子中的新行字符斯帕西纳

  •  -1
  • erotavlas  · 技术社区  · 7 年前

    我正在试着训练spacy NER,我收集了我所有的句子,但是很多句子都嵌入了新行字符'\n',所以当我把训练数据输入我的jupyter笔记本时,它失败了,出现了一个错误

                     TRAIN_DATA = [('Who is 
                                           ^
    SyntaxError: EOL when scanning string literal
    

    我该怎么处理这些?

    数据是这样的(

    TRAIN_DATA = [('Who is 
    Shaka Khan?', {'entities': [(7, 17, 'PERSON')]}),
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   Philip    7 年前

    朱庇特

    ' 围绕着像这样几行的弦

    string=""" This string has many lines
                that continues here
                and here """
    

    对你来说那就是

    TRAIN_DATA = [('''Who is 
          Shaka Khan?''', {'entities': [(7, 17, 'PERSON')]})
    

    删除换行符

    如果要删除字符串中的换行符,有许多选项。这里有一个

    import re
    string = re.sub('\n', '', string)
    

    1. 行:导入regex modul
    2. 行:使用“sub”方法 用字符串中的“”替换第一个输入'\n'。

      输出:

    我猜您可能正在使用pandas,因此要在专栏中执行此操作,您可以执行以下操作:

    df[col_name]=df[col_name].str.replace(r'^\n','')