字符串中有多个不同该${变量名} 字符,如何快速取出?

metalnino 2014-02-26 10:50:10
假设有一个字符串
"aaaaaaaaaa${var1}bbbbbbbbbbbbb${var2}vvvvvvvvvvvvvv${var3}adsfsadfsafadsfsad33333333311111111111111111111111111${var1}"

最后要取出一个数组
var1
var2
var3

假设有这样一个字符串 其中我要 ${变量名} 这种格式的变量名,并且若同一个变量出现多次,只取一次
...全文
208 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2014-02-26
  • 打赏
  • 举报
回复
楼上 的可以。
String x="aaaaaaaaaa${var1}bbbbbbbbbbbbb${var2}vvvvvvvvvvvvvv${var3}adsfsadfsafadsfsad33333333311111111111111111111111111${var1}";
		Matcher m = Pattern.compile("[$][{](.*?)[}]").matcher(x);
		while(m.find()){
			System.out.println(m.group(1));
		}
陆荃 2014-02-26
  • 打赏
  • 举报
回复
String s = "aaaaaaaaaa${var1}bbbbbbbbbbbbb${var2}vvvvvvvvvvvvvv${var3}adsfsadfsafadsfsad33333333311111111111111111111111111${var1}"; String pattern = "\\$\\{(\\w+)\\}"; Matcher m = Pattern.compile(pattern).matcher(s); while(m.find()){ String temp = m.group(1); System.out.println(temp); }
teemai 2014-02-26
  • 打赏
  • 举报
回复
是固定的以${}包含的吗? 用正则表达式去匹配。 另外获得的数组去一下重复就行了。或者放到set里
  • 打赏
  • 举报
回复
只出现一次,可以考虑用缓冲池的方法intern()

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧