有一字符串,格式大慨是XXX{variableA}XXXX{variableB}XXX{variableC}
我希望能取到大括号里面的变量名称,变量名不是固定,个数不固定,
然后我需要根据这个变量名称取出对应的内容,替换原字符串中的大括号中的部分,请问这个正则该怎么写?
应该要分两步,第一步是取出各个变量名,然后是替换原字符串,AS,JS或JAVA版都可以。
我希望能取到大括号里面的变量名称,变量名不是固定,个数不固定,
然后我需要根据这个变量名称取出对应的内容,替换原字符串中的大括号中的部分,请问这个正则该怎么写?
应该要分两步,第一步是取出各个变量名,然后是替换原字符串,AS,JS或JAVA版都可以。
解决方案 »
- HttpClient截取文件流
- displaytag的export导出excel报错
- tomcat6.016/tomcat6.026 post提交乱码
- webService的服务的方法接受的是封装在string内的xml,它是从哪里来的
- struts 的form在js中如何自动提交?
- 测试安装都成功,可运行嵌入JAVA代码就不正确了
- 高分请教高手,如何过滤到jsp里的空行。
- 问个问题
- java.sql.SQLException: Unable to gather error information(用jdbc连Lotus报的错)
- bean validation跟springmvc里不进行验证,BindingResult的errors一直是0
- 下拉列表的问题
- 左边树形菜单的生成,不是使用tree控件
源字符串是: 我的名字是{name},性别是{sex}。
已经知道name="张三"; sex="男";
如果已经知道String s1 = "name"; String s2 = "sex";
可以通过Object[s1] = "张三";
Object[s2] = "sex";怎么替换到原字符串中?
直接将你的变量<%= %>不就行了??如果要替换,可以用replaceXXX() 。
public static void main(String[] args) {
String str = "XXX{variableA}XXXX{variableB}XXX{variableC} ";
String regex = "\\{([^}]*)\\}";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
String variableA="changeA";
String variableB="changeB";
String variableC="changeC"; }替换那部分没有看懂什么意思
String str = "XXX{variableA}XXXX{variableB}XXX{variableC}";
Map<String, String> val = new Hashtable<String, String>();
val.put("variableA", "a");
val.put("variableB", "b");
val.put("variableC", "c");
List<String> list = new ArrayList<String>();
String reg = "\\{([a-zA-Z]*)\\}";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(str);
while (m.find()) {
list.add(val.get(m.group(1)));
}
System.out.println(list);
String reg = "\\{([a-zA-Z]*)\\}";
换成
String reg = "\\{(\\w*)\\}";
while(sValue.indexOf("{") != -1)
{
var parameter:String = sValue.substring(sValue.indexOf("{")+1, sValue.indexOf("}"));
sValue = sValue.replace("{"+parameter+"}", item.@[parameter]);
}
一会再看看正则匹配能不能实现,关键是对正则不是很熟