2011-04-17 55 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的空格。