我写一个代码,其中我要分割以下字符串:分割字符串中的Java通过keword
String str = "{route=Head west on, some address, distance=0.2 km, duration=1 min}";
我要为路线,距离和时间价值分开。
我写一个代码,其中我要分割以下字符串:分割字符串中的Java通过keword
String str = "{route=Head west on, some address, distance=0.2 km, duration=1 min}";
我要为路线,距离和时间价值分开。
尝试一些这样的事
String str = "{route=Head west on, some address, distance=0.2 km, duration=1 min}";
String newStr=str.replaceAll("\\}","");
String[] arr=newStr.split("route=");
String[] arr1=arr[1].split("distance=");
String route=arr1[0];
String[] arr2=arr1[1].split("duration=");
String distance=arr2[0];
String duration=arr2[1];
System.out.println("route= "+route);
System.out.println("distance= "+distance);
System.out.println("duration= "+duration);
非常感谢它的工作。 – Himanshu
您可以使用正则表达式分裂字符串:
String str = "{route=Head west on, some address, distance=0.2 km, duration=1 min}";
String regEx = "(\\{route=|distance=|duration=|\\})";
// String regEx = "(route=|distance=|duration=)";
String[] splited = str.split(regEx);
for(String s: splited) {
System.out.println(s);
}
您可以添加任何其他关键字(只需将其添加到正则表达式),不改变代码!
它的工作非常感谢.. – Himanshu
试试使用StringTokenizer
到如下分割字符串:
final String SPLIT_STR = ","; String str = "{route=Head west on, some address, distance=0.2 km, duration=1 min}"; final StringTokenizer stToken = new StringTokenizer( str, SPLIT_STR); final String[] splitStr = new String[stToken.countTokens()]; int index = 0; while(stToken.hasMoreElements()) { splitStr[index++] = stToken.nextToken(); } for(index=0; index < splitStr.length; index++) { System.out.println("Tokenizer : " + splitStr[index]); }
}
希望这会为你工作。
到目前为止你有什么? – ruakh
这是相当简单的,如果他们在这一行没有逗号(,)'向西走,有些地址' – sanbhat
是的,但我只以这种格式获得结果。 – Himanshu