假设我有一个文本文件。
在文本文件中,在两个单词之间有一个字符串,即“他是”。
请注意,该字符串有2个空格。
我想删除一个空格,所需的输出是“他是”。
我该怎么做?
答案 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(" ", " ");