有一堆变量名和与之对应的值放在一个map(key为变量名 value为与之对应的值)里面,现在要遍历一个文件文件,当遇到与map里面的某个key名称相同的时候就用对应的那个valu替换掉文本里的内容。大家给个好的算法。

解决方案 »

  1.   

    应该很简单吧
    强烈建议你用正则表达式.jdk1.4自带的,功能强大,你就用正则的替换功能:
    给你个例子:
    今天看到论坛上有人问屏蔽手机号码怎么做,其实用jdk自己带的正则表达式库可以很好的解决。
    下面是我写的屏蔽程序:import java.util.regex.*;public class ReplaceTel{
     public static void main(String[] args) throws Exception{
      Pattern p = Pattern.compile("13[0-9]{9}");
      Matcher m = p.matcher("your tel is : 13331239924;but my is 13347215555");
      String result = m.replaceAll("XXXXXXXXXXX")
      System.out.println(result); 
      } 
     }具体技术细节可以在google上搜索一下
      

  2.   

    这种问题只要知道map是什么,就应该能弄出来!
      

  3.   

    也就是把所有的key替换为value,遍历Map替换就可以吧
      

  4.   

    你的文本文件是怎么的格式
    key1 value1
    key2 value2
    key3 value3
    这类简单的格式的话,你顺着读文件就好了,每读到一组key和value
    if(map.get(key)!=null) map.put(key,value)