java中如何实现删除文本文档里面的指定字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何实现删除文本文档里面的指定字符相关的知识,希望对你有一定的参考价值。
我来解释一下好了,其实JAVA中没有直接在文件中删除或者修改一行或者几个字符的函数,但是既然楼主提到了C++中的文件指针,那么JAVA在RandomAccessFile(java.io.RandomAccessFile)类中提供了一系列的方法可以控制这个“文件指针”的东东,例如:getFilePointer方法就可以获取相对文件头的指针偏移量;也可以通skipBytes(int n)准确地跳过 n 字节输入。更为详细的介绍,可以参考:
以及:
参考技术A 给分:
亲,要读入的文件自己建哦
源代码:
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.IOException;
public class zifutihuan
protected static void rep(String ch)
BufferedReader bis = null;
FileWriter bos = null;
String s = null;
try
bis = new BufferedReader(new FileReader("1.txt"));
bos = new FileWriter("2.txt");
while(null != (s = bis.readLine()))
s = s.replaceAll(ch,"");
System.out.println(s);
s= s+"\r\n";
bos.write(s);
bos.close();
bis.close();
s = null;
catch(FileNotFoundException e)
System.out.println("未找到文件\n");
catch(IOException ee)
System.out.println("aaa");
public static void main(String args[])
rep("123");
本回答被提问者采纳 参考技术B 思路:用IO流读文件,将内容读为字符串,进行替换,在把新内容写回去,关闭IO流 参考技术C 用IO流 先把内容读出来 比如读出来后 全转为String 类型吧
用String的replace(a,b)方法可把a替换为b 参考技术D 将指定的字符用replace替换成空字符
如replace("ddddddd","")
如何对法律领域的文本文档进行分类
【中文标题】如何对法律领域的文本文档进行分类【英文标题】:How to classify text documents in legal domain 【发布时间】:2019-03-06 14:10:25 【问题描述】:我一直在从事一个关于在法律领域对文本文档进行分类 (法律判断预测类问题)的项目。 给定的数据集由 700 个法律文件组成(在两个类别中很好地平衡)。在包括应用所有最佳实践(例如删除停用词等)的预处理之后,每个文档有 3 个段落,我可以一起或单独考虑。平均而言,文本文档大小为 2285 字。
我的目标是使用与经典 n-gram 模型不同的东西(不考虑任何单词顺序或语义):
使用神经网络 (Doc2Vec) 将每个文档的文本转换为连续域中的向量;为了创建一个包含向量、代表文档和相应标签的数据集(正如我所说,有 2 个可能的标签:0 或 1); 训练 SVM 对样本进行分类,我一直在使用 10 折交叉验证。我想知道是否有人在这个特定领域有一些经验,他可以建议我其他方法或如何改进模型,因为我没有得到特别好的结果:74% 的准确率。
使用 Doc2Vec 将文本转换为向量并用于输入分类器是否正确?
我的模特代表:
【问题讨论】:
一些事情...... 700 并不是一个特别多的样本,所以这可能是您问题的很大一部分 - 您可能会遭受很大的差异。更多样本应该会有所帮助。尝试使用 CV 为您的分类器调整更好的超参数(此外,您可以尝试不同的分类器,而不仅仅是 SVM)。 10倍CV也比较高。可能相当耗时。您可能会在网格搜索过程中减少折叠次数 您的问题似乎相当模糊。关于特定的编程问题,您究竟想知道什么?你试过什么,你到底卡在哪里? 这不是一个特定的编程问题,而是关于使用这种文本表示是否有意义。 如何在适合训练分类器的连续域中表示文本文档?@petezurich 谢谢@Tgsmith6159,感谢您的cmets。如果问题是我没有足够的样本,我就卡住了!!你会使用预训练模型从文本中获取向量吗? 【参考方案1】:Doc2Vec 是将可变长度文本转换为摘要向量的合理方法,这些向量通常可用于分类——尤其是主题或情感分类(原始“段落向量”论文中突出显示的两个应用程序)。
但是,作为训练集,700 个文档非常小。已发表的作品倾向于使用数万到数百万个文档的语料库。
此外,你的特定分类目标——预测法律判决——比主题或情感分类更让我印象深刻。了解如何决定案件取决于大量外部法律/先例(不在训练集中)和逻辑推论,有时取决于情况的个别细节。这些是单个文本向量的模糊摘要不太可能捕获的内容。
与此相反,您报告的 74% 准确率听起来令人印象深刻。 (外行人也会这样做吗,只有这些摘要?)我想知道摘要中是否有某些“告诉”——摘要器的单词选择强烈暗示或彻底揭示实际判断。如果这是文本中最强的信号(除了实际的领域知识和逻辑推理),您可能会从更简单的 n-grams/bag-of-words 表示和分类器中获得同样好的结果。
元优化您的训练参数可能会逐渐改善结果,但我认为您需要更多的数据,也许还需要更先进的学习技术,才能真正逼近您的那种具有法律能力的人类水平预测可能是针对。
【讨论】:
以上是关于java中如何实现删除文本文档里面的指定字符的主要内容,如果未能解决你的问题,请参考以下文章
java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中