package cspTest;
import java.util.Scanner;
public class CspTest2 {
//StringBuilder 单线程,线程不安全,查找替换快,是一个动态的对象
//String 是不可替换的字符对象,用于少量的数据操作,比较简单
//StringBuffer 多线程,线程安全,是一个动态的对象
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int m=scanner.nextInt();
int n=scanner.nextInt();
StringBuilder[] model=new StringBuilder[m];
String[] param=new String[n];
StringBuilder[] paramValue1=new StringBuilder[n];
String[] paramValue2=new String[n];
String blank=scanner.nextLine();
//输入赋值
for(int i=0;i<m;i++){
model[i]=new StringBuilder(scanner.nextLine().trim());
}
for(int i=0;i<n;i++){
param[i]=scanner.next();
param[i]="{{ "+param[i]+" }}";
paramValue1[i]=new StringBuilder(scanner.nextLine().trim());
paramValue2[i]=paramValue1[i].toString();
paramValue2[i]=paramValue2[i].substring(1,paramValue2[i].length()-1);
}
//定义变量替换
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
model[j]=new StringBuilder(model[j].toString().replace(param[i],paramValue2[i]));
}
}
//未定义变量替换
for(int i=0;i<m;i++){
model[i]=new StringBuilder(model[i].toString().replaceAll("\\{\\{.+\\}\\}",""));
}
//输出数据
for(int i=0;i<m;i++){
System.out.println(model[i].toString());
}
}
}
CCF201509-3 模板生成系统
最新推荐文章于 2022-03-06 16:20:18 发布