我试着改变角色,aa改为,ae改为and,oe改为oe。
我的输入文本文件是
"sjoen aer varmt idag kanske kommer vi att simma daer. Det aer vaeldigt roligt att simma daer. Min mamma s ger,直至mig att daer aer alltid kallt och att aaka d tar mycket tid.“
输出应该如下:
“sj n r varmt idag kanske kommer vi att simma d r. Det r v ldigt roligt att simma d r. Min mamma s ger,直至mig att d r alltid kallt och att tar mycket tid”。
我的问题是我做错了什么?感谢您的帮助和评论。
这是我的密码
public static void main(String[] args) throws IOException {
String fileName = JOptionPane.showInputDialog("Enter the file name");
BufferedReader inputCurrent = new BufferedReader(new FileReader(fileName));
PrintWriter outputCurrent = new PrintWriter(new BufferedWriter(new FileWriter("file.txt")));
String row1;
while((row1 = inputCurrent.readLine())!=null)
{
String aa = "å";
String ae = "ä";
String oe = "ö";
if(row1.equals(aa))
{
String replacing = row1.replaceAll(row1, aa);
outputCurrent.println(replacing);
}
if(row1.equals(ae))
{
String replacing = row1.replaceAll(row1, aa);
outputCurrent.println(replacing);
}
if(row1.equals(oe))
{
String replacing = row1.replaceAll(row1, aa);
outputCurrent.println(replacing);
}
}
outputCurrent.close();
inputCurrent.close();
inputCurrent = new BufferedReader(new FileReader("file.txt"));
outputCurrent = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
while(true)
{
String row2 = inputCurrent.readLine();
if(row2==null)
break;
outputCurrent.println(row2);
}
outputCurrent.close();
inputCurrent.close();
}
}发布于 2016-04-16 21:32:00
replaceAll将模式作为第一个参数。您应该使用replace。另外,您正在寻找equals,而您应该这样做contains:
if(row1.contains("aa"))
row1.replace("aa", aa);但这样,它将取代所有的"aa“事件
请参阅以下代码:
String input = "sjoen aer varmt idag kanske kommer vi att simma daer. "
+ "Det aer vaeldigt roligt att simma daer. "
+ "Min mamma säger till mig att daer aer alltid kallt och att aaka tid tar mycket tid.";
String output = "sjön är varmt idag kanske kommer vi att simma där. "
+ "Det är väldigt roligt att simma där. "
+ "Min mamma säger till mig att där är alltid kallt och att åka tid tar mycket tid.";
input = input.replace("aa", "å").replace("ae", "ä").replace("oe", "ö");
System.out.println(input);
//prints
//sjön är varmt idag kanske kommer vi att simma där.
//Det är väldigt roligt att simma där.
//Min mamma säger till mig att där är alltid kallt och att åka tid tar mycket tid.
System.out.println(input.equals(output));//true发布于 2016-04-16 23:09:11
也许它会更有效和更好的方法。就像我说的,我是乞丐,感谢你的帮助。
String fileName = JOptionPane.showInputDialog("Enter the file name");
BufferedReader inputCurrent = new BufferedReader(new FileReader(fileName));
PrintWriter outputCurrent = new PrintWriter(new BufferedWriter(new FileWriter("file.txt")));
String row1;
String replacing = null;
String å,ä,ö;
while((row1 = inputCurrent.readLine())!=null)
{
String aa = "å";
String ae = "ä";
String oe = "ö";
if(row1.contains("aa"))
{
row1 = row1.replaceAll("aa", aa);
}
if(row1.contains("ae")) {
row1 = row1.replaceAll("ae", ae);
}
if(row1.contains("oe"))
{
row1 = row1.replaceAll("oe", oe);
}
outputCurrent.println(row1);
}
outputCurrent.close();
inputCurrent.close();
inputCurrent = new BufferedReader(new FileReader("file.txt"));
outputCurrent = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
while(true)
{
String row2 = inputCurrent.readLine();
if(row2==null)
break;
outputCurrent.println(row2);
}
outputCurrent.close();
inputCurrent.close();
}}
https://stackoverflow.com/questions/36669994
复制相似问题