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数据库的表中

如何运行文本文档编程命令

求Python程序,将固定文本文件中的文本按某字符串分开,输出几个新的文本文件

labview如何读取文本文档中某一行的字符串

Mac系统上如何添加文本文档