我想对包含2000行的Weka arff文件进行预处理 对于nlp项目(情绪分析)
我想要一个代码,只需在每个句子的开头和结尾添加一个引号。例如,这是我的数据集的示例:
The Da Vinci Code is one of the most beautiful movies ive ever seen.,1
The Da Vinci Code is an * amazing * book, do not get me wrong.,1
then I turn on the light and the radio and enjoy my Da Vinci Code.,1
The Da Vinci Code was REALLY good.,1
i love da vinci code....,1
我希望输出为:
'The Da Vinci Code is one of the most beautiful movies ive ever seen.',1
'The Da Vinci Code is an * amazing * book, do not get me wrong.',1
'then I turn on the light and the radio and enjoy my Da Vinci Code.',1
'The Da Vinci Code was REALLY good.',1
'i love da vinci code....',1
只想在每个句子的开头和结尾添加一个引号(在1之前)。
如果你帮助我,我会非常感激
我可以使用任何工具而不是编写代码吗?
答案 0 :(得分:0)
您可以使用正则表达式来实现此目的。 Regular expressions are a powerful formalism for pattern matching in strings.大量现有工具支持正则表达式,它允许您匹配/替换所需的文本,而无需自己编写任何代码。
要使用正则表达式(regexp)进行匹配和替换,您需要两个部分:
<强>匹配强>
/([^\.]+)(\.+)(,1\s+)/g
<强>换人:强>
'$1$2'$3
您可以查看上述匹配和替换here
的互动版本现在,您可以使用该匹配和替换来使用您喜欢的正则表达式工具。
赞sed:
sed -i -E "s/([^\.]+)(\.+)(,1\s+)/'\1\2'\3/g" yourfile.txt
或Windows PowerShell:
(Get-Content yourfile.txt) -replace '([^\.]+)(\.+)(,1\s+)', '''$1$2''$3' | Out-File output.txt
其他工具可能使用不同的语法。提供的匹配/替换模式可能会进一步优化。