如何从文本文件中的字符串中删除一个间距?

时间:2011-04-17 16:40:48

标签: java string

假设我有一个文本文件。

在文本文件中,在两个单词之间有一个字符串,即“他是”。

请注意,该字符串有2个空格。

我想删除一个空格,所需的输出是“他是”。

我该怎么做?

5 个答案:

答案 0 :(得分:2)

s.replaceAll("\\s\\s+", " ")

将替换任意数量的空格,大于1,空格为1。

答案 1 :(得分:1)

将整个文件读入字符串,然后按单个空格替换所有双空格,如下所示。您可以使用StreamReader.ReadToEnd()读取整个文件。这假设您的文件不是太大。

我认为这是一个C#问题,(我在C#问题列表中找到了它),这里是C#代码。

StreamReader streamReader=new StreamReader(new FileStream(path, FileMode.Read));
string str=streamReader.ReadToEnd();
string str2=str.Replace("  "," ");

在Java中,某些函数名称没有大写,例如replace(),显然,并非所有这些类都可用。

然后回写文件。您可以使用StreamWriter。

答案 2 :(得分:1)

将文件作为字符串数组读入内存,然后为每个字符串调用replace(“”,“”)并再次写出文件。如果它太大而无法放入内存,请将文件一次一行复制到临时文件,执行替换,然后删除原始文件并将临时文件移动到原始文件所在的位置。

答案 3 :(得分:1)

在java中(似乎每个人都在C变体中提供示例)

 str.replace("  "," ");

应该有效。案件很重要。

答案 4 :(得分:-1)

您可以使用

str.replace("  ", " ");