gpt4 book ai didi

java - 不使用替换功能将一个单词替换为另一个单词

转载 作者:行者123 更新时间:2023-11-30 02:44:41 25 4
gpt4 key购买 nike

我需要在文本中不使用 replacereplaceAll 函数的情况下将一个单词替换为另一个单词。

如果我要替换的单词与原始单词的长度相同,则没有任何问题。问题是当我要替换的单词比原始单词长或短时。

例如:我想将字符串“我有一只狗”中的“一”替换为“十三”。这就是我尝试做的(我使用 RandomAccessFile 类):

RandomAccessFile r  = new RandomAccessFile("toto.txt","rw")
r.seek(position); // imagine that position is the right cursor which take place under the o from the word "one"
r.writeBytes("thirteen");

当我尝试这样做时,我删除了狗后面的单词,因为“十三”比“一”长..

如果我要替换的单词比原始单词短,也会出现同样的问题。我用空白字母替换了剩余的字母,但我有难看的空格......

我该如何继续?

最佳答案

这就是我要做的:

  • 对于文件中的每一行
  • 替换行中您想要的内容
  • 将行写入临时文件
  • 将临时文件中的所有内容写回原始文件

如果你的文件不大,你可以将行保留在内存中,而不是写入临时文件。

您可以删除原始文件并将临时文件重命名为原始文件名,而不是写回所有内容。

关于java - 不使用替换功能将一个单词替换为另一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com