如何在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