我试图从配置文件中获取一些值。我有很多钥匙,只想获得某些价值。这些值的键以相同的初始名称开头,并且在结尾处略有变化。
有人能帮我快点吗?
答案 0 :(得分:1)
假设当你说出键时你的意思是值(如数组中的值),
final String PREFIX = "yourPrefix";
for(String value : valueList) {
if(value.startwith(PREFIX)) {
<do whatever...>
}
这是java Doc的链接 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#startsWith(java.lang.String)
答案 1 :(得分:0)
我假设您正在扫描具有类似前缀的字符串的配置文件。为什么不尝试在分组中扫描它们而不是在一个hashmap中扫描它们。如果您已经知道指定的前缀,请尝试为每个前缀创建一个arraylist,并在扫描时接收给定的前缀并相应地添加它。
StringTokenizer s = new StringTokenizer ("Configuration File : Server_intenties = keyId_11503, keyId_11903 : Server_passcodes = keyCode_1678, keyCode_9893", " ");
ArrayList<String> keyCode = new ArrayList();
ArrayList<String> keyId = new ArrayList();
while(s.hasMoreTokens){
String key = s.nextToken
if(key.contains("keyId")){
keyId.add(key);
}
if(key.contains("keyCode")){
keyCode.add(key);
}
}
System.out.println(keyCode);
System.out.println(keyId);