我在像这样的记事本中有一个文本字符串
记事本中的文本:
date amount intrest tenure debitamount name address state city zipcode phone altphone mailid refaddress ref refphoneno emptype employment
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road
dallas dl 2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com
165 nala road raj 22-22-22-2222 it 12
15/05/1986 2345 6.4 144 45789 rama k nand 789 residensy
newyork ny 2222-22-2222 2222-22-2222 ramaknand@yahoomail.com
189 ring road hen 22-22-22-22-2222 it 12
16/12/1985 1234 6.5 144 35265 rama j rao 123 dura residensy meknoor
mn 2222-22-2222 2222-22-2222 ramajrao@orkut.com 891 cing road vinky
22-22-22-2222 it 12
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road dallas dl
2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com 165 nala road raj
22-22-22-2222 it 12
out put should be like below
in between name and address single space and all other double space
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road
dallas dl 2435 2222-22-2222 2222-22-2222 durgaao@gmail.com
165 nala road raj 22-22-22-2222 it 12
15/05/1986 2345 6.4 144 45789 rama k nand 789 residensy
newyork ny 2222-22-2222 2222-22-2222 ramaad@yahoomail.com
189 ring road hen 22-22-22-22-2222 it 12
16/12/1985 1234 6.5 144 35265 rama j rao 123 dura residensy meknoor
mn 2222-22-2222 2222-22-2222 ramajo@orkut.com 891 cing road vinky
22-22-22-2222 it 12
12/11/1987 12345 3.5 144 32456 dura f rao 456 under road dallas dl
2435 2222-22-2222 2222-22-2222 durga@gmail.com 165 nala road raj
22-22-22-2222 it 12
我希望我的输出如下在名称和地址之间的单空格和所有其他双空格?
我写了下面的代码,但我无法获得所需的输出
有人能帮我吗?
我尝试过的代码:
public static String newLine = System.getProperty("line.separator");
public static void main(String args[]){
FileWriter iWrite=null;
try {
iWrite = new FileWriter("C:/Documents and Settings/pavan/My Documents/output.txt");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
List<String> lines = FileUtils.readLines(new File("C:/Documents and Settings/pavan/My Documents/input.txt"));
for(String lines1:lines){
iWrite.write(lines1);
iWrite.write(newLine);
}
iWrite.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这是一个家庭作业问题,所以我没有想到最佳解决方案,但如果需要,这里有你可以做什么的sudo代码。
在此之前,让我假设数据实际上是基于您的标题的一行:
1987年12月11日12345 3.5 144 32456 durga f rao 456,位于达拉斯dl 2435 2222-22-2222durgafrao@gmail.com165纳拉路raj 22-22-22-2222 it 12
- 创建阵列的ArrayList(又名
ArrayList<String[]>
) - 对于您读取的每一行,使用
split(" ")
或split("s")
将换行符根据空格拆分为字符串 - 一旦所有的行都被拆分并存储在arraylist中,就可以遍历列表
- 在字符串数组列表中,您可以使用hack迭代数组
- 破解方法是,你知道在什么时候你需要添加额外的空间,所以在一个数组中,当你到达特定的位置时,你可以添加和额外的空间。在其他任何地方,您都可以只添加一个空格
同样,这不是最佳解决方案。
对于您当前的代码,您所做的只是读取一行并在将其写回文件之前附加一个换行符。所以你的代码所做的就是制作
a a
b b b
c c c
进入
a a
b b b
c c c
从本质上讲,做的不多。