!!!!R语言进行文章字段打乱输出 !!!!冲冲冲!!!!!
—————————————————————————————————
1、R语言同样也需要下载和导入package。
install.packages("Stringr")
library(stringr)
2、读取translalte.txt中所有段落,设置编码格式encoding=“UTF-8”。
data1 <- readLines('pre_translate.txt',encoding="UTF-8")
3、将其写入到目标文件中方便后面进行对比。
write.table(data1,'next_translate.txt',row.name=FALSE,col.name=FALSE,quote=FALSE,append=T)
4、利用trimws()去除data1中字符串两端多余空格。
data1 <- trimws(data1, which = c("both", "left", "right"), whitespace = "[ \t\r\n]")
5、将读出来的多段落文章合并成一句话。
data1 <- paste(data1,collapse="")
6、将一整句话按照中文标点符号进行分割。
data2 <- as.character(unlist(strsplit(data1, split = "[。?!]")))
7、利用for循环进行句分割然后打乱合并。
for (i in 1:length(data2)){
Dat0=strsplit(data2[i],"")
#将每一句话再次进行分割,其表现形式为一个字符为一个字符串
Dat1=sample(Dat0[[1]])
#将分割后的字符串利用sample()随机抽取的方式进行打乱字符串
data2[i] <- paste(Dat1,collapse="")
#将打乱后的字符串合并成一句话替换掉原来的data2[i]
}
8、将已经打乱后的每个句子用句号进行合并。
data3 <- paste(data2,collapse="。")
9、将合并后的段落最后加上句号。
data4 <- str_glue("{data3} 。")
10、写入到translate.txt中,设置append=T采用追加的方式进行写入,方便两者对照。
write.table(data4,'next_translate.txt',row.name=FALSE,col.name=FALSE,quote=FALSE,append=T)
总代码
install.packages("Stringr")
library(stringr)
data1 <- readLines('pre_translate.txt',encoding="UTF-8")
write.table(data1,'next_translate.txt',row.name=FALSE,col.name=FALSE,quote=FALSE,append=T)
data1 <- trimws(data1, which = c("both", "left", "right"), whitespace = "[ \t\r\n]")
data1 <- paste(data1,collapse="")
data2 <- as.character(unlist(strsplit(data1, split = "[。?!]")))
for (i in 1:length(data2)){
Dat0=strsplit(data2[i],"")
Dat1=sample(Dat0[[1]])
data2[i] <- paste(Dat1,collapse="")
}
data3 <- paste(data2,collapse="。")
data4 <- str_glue("{data3} 。")
write.table(data4,'next_translate.txt',row.name=FALSE,col.name=FALSE,quote=FALSE,append=T)