Используйте магию хэш-карт.
Сначала разделите свойства:
String[] parts = inStr.split( ";" );
List<String> properties = Arrays.asList(parts);
Затем получите пары имя-значение:
HashMap<String,String> map = new HashMap<String,String>();
Iterator<String> iter = properties.iterator();
for (String property : properties) {
int colPosn = property.indexof(":");
// check for error colPosn==-1
map.put( property.substring(0, colPosn), property.substring(colPosn+1) );
}
Теперь вы можете получить доступ к свойствам не по порядку и / или проверить наличие включений, например, tis:
if(map.containsKey("name") && map.containsKey("age")) {
// do something
String name = map.get("name");
String age = map.get("age");
...