2011-04-17 81 views

回答

1

将整个文件读入一个字符串,然后按如下方式将所有双空格替换为单个空格。您可以使用StreamReader.ReadToEnd()读取整个文件。这假定你的文件不是太大。我认为这是一个C#问题,(我在C#问题列表中找到它),这里是C#代码。

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

在Java中,一些函数名不是大写,如更换(),显然,并不是所有的这些类都可以。

然后只要回写到文件。您可以为此使用StreamWriter。

+1

确定该方法吗?不存在。 – MeBigFatGuy 2011-04-17 16:46:32

+0

@MeBigFatGuy:哪种方法? ReadToEnd的()?它应该在那里。 – 2011-04-17 16:49:24

+0

@Eugenio:他的意思是'替换' - 你想'替换' – Hogan 2011-04-17 16:54:38

1

将文件作为字符串数组读取到内存中,然后调用replace(“   ”,“”)为每个并将该文件再次写出。如果它太大而不适合内存,则将该文件一次一行地复制到临时文件中,执行替换操作,然后删除原始文件并将临时文件移动到原始位置。

-1

您可以使用

str.replace(" ", " "); 
1

在java中(它似乎每个人都让用C变种的例子)

str.replace(" "," "); 

应该工作。案件事宜。

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

将用1个空格替换任何数量超过1的空格。