我有一個字符串的大名單一個文件,該文件的形式如何在java中的另一個字符串中的特定字符後添加一個字符串?
key1=value1
key2=value2
...
我需要添加一個字符串如的。每等號後有(Long)
。並用這些新字符串創建一個新文件:
key1=(Long)value1.
key2=(Long)value2.
...
如何使用java程序實現此目的?
我有一個字符串的大名單一個文件,該文件的形式如何在java中的另一個字符串中的特定字符後添加一個字符串?
key1=value1
key2=value2
...
我需要添加一個字符串如的。每等號後有(Long)
。並用這些新字符串創建一個新文件:
key1=(Long)value1.
key2=(Long)value2.
...
如何使用java程序實現此目的?
BufferedReader b = new BufferedReader(new FileInputStrem(file));
while(b.readLine() != null) {
System.out.println(line.replace("=", "=(Long)"));
}
b.close();
"key1=value1".replace("=", "=(Long)");
分別爲:
"key1=value1".replace("=", "=" + String.valueOf(123l));
這將只在Java> 1.4工作,如果沒有=
可能在key
或value
public class StringReplace
{
public static void main(String[]args)
{
String str1 = "key1=value";
String rep = "=(Long)";
//Printing Current String
System.out.println(str1);
//Replacing the String
str1 = str1.replaceAll("=", rep);
//Printing new value
System.out.println(str1);
}
}
使用replaceAll()
或replace()
到替換找到的所有匹配項。
以上是最簡單的方法。你也可以用循環來檢查匹配。但是,如果你正在檢查很多比賽,這將需要大量的記憶,這將是一個恐慌。
這裏你不需要'replaceAll'。只需使用'str1.replace'即可。 – 2013-02-26 09:17:36
@RohitJain:我相信它使用的算法使用較少的內存 – 2013-02-26 09:22:31
它們之間的唯一區別是'replaceAll'將'regex'作爲參數,而'replace'只做簡單的字符串替換。您還可以查看其實現的源代碼。 – 2013-02-26 09:25:29
搜索'='並將其替換爲'=(Long)'。查看類'String'的方法來獲取可用於此的usefule方法。 – Jesper 2013-02-26 09:05:41
或者你可以用awk在一行中做到這一點。 'awk -F ='{print $ 1「=(Long)」$ 2}'bigfile' – squiguy 2013-02-26 09:07:09
如果可以,我可能會建議使用Apache StringUtils'replace'替換默認的java'replace'。 – Quetzalcoatl 2013-02-26 09:20:49