我需要在java中拆分字符串并将其映射到城市,国家和大陆
String s = "mumbai| india - Asia";
String b ="{city}|{country}-{Continent}"
其中:|
和-
是特殊字符
输出:
city - mumbai
country - india
continent - Asia
答案 0 :(得分:2)
为什么不使用命名捕获组?
(?<city>[^|]*)\s*\|\s*(?<country>[^-]*)-\s*(?<continent>[\w\s]*)
演示:
https://regex101.com/r/kZ4tQ7/1
查看右侧的匹配信息
答案 1 :(得分:0)
你可以尝试
String s = "mumbai| india - Asia";
String[] splitString = s.split("|");
String city = spiltString[0];
String secondSplit[] = splitString[1].split(" - ");
String country = secondSplit[0];
String continent = secondSplit[1];
答案 2 :(得分:0)
Try this.
String s = "mumbai| india - Asia";
String b ="{city}|{country}-{Continent}";
String city = s.split("\\|")[0];
String country = s.split("\\|")[1].split("-")[0];
String cont =s.split("\\|")[1].split("-")[1];
String cityT = b.split("\\|")[0];
String countryT = b.split("\\|")[1].split("-")[0];
String contT =b.split("\\|")[1].split("-")[1];
System.out.println(cityT.replace("{", "").replace("}", "") +" - " + city);
System.out.println(countryT.replace("{", "").replace("}", "") +" - " + country);
System.out.println(contT.replace("{", "").replace("}", "") +" - " + cont);