android中使用StringTokenizer的字符串标记化
我正在尝试将从json接收的字符串格式化为新的格式。实际字符串是android中使用StringTokenizer的字符串标记化,android,json,string,stringtokenizer,Android,Json,String,Stringtokenizer,我正在尝试将从json接收的字符串格式化为新的格式。实际字符串是[90.36855,23.7500883333334],我的目标是将其转换为两个不同的字符串,如90.36855和23.7500883333334 我试着用下面的方法 String s = "[90.36855,23.750088333333334]"; StringTokenizer st = new StringTokenizer(s, "["); String lat = st.nextToken(); String lon
[90.36855,23.7500883333334]
,我的目标是将其转换为两个不同的字符串,如90.36855
和23.7500883333334
我试着用下面的方法
String s = "[90.36855,23.750088333333334]";
StringTokenizer st = new StringTokenizer(s, "[");
String lat = st.nextToken();
String lon = st.nextToken();
但它显示了致命异常:main
。如何解决此问题?使用此代码
String s = "[90.36855,23.750088333333334]";
String result = s.replaceAll("[]","");
StringTokenizer st = new StringTokenizer(result, ",");
String lat = st.nextToken();
String lon = st.nextToken();
使用此代码
String s = "[90.36855,23.750088333333334]";
String result = s.replaceAll("[]","");
StringTokenizer st = new StringTokenizer(result, ",");
String lat = st.nextToken();
String lon = st.nextToken();
在此字符串中,
[
只出现一次。因此在这一行中,字符串lon=st.nextToken();
将引发异常,因为nextToken()
不可用
由于字符串是JSONArray
,因此可以使用org.json
获取lat和lon
例如:
但是,如果您不想使用JSONArray
,那么StringTokenizer
也可以为您提供帮助。只需使用[],
更新regx即可:
String s = "[90.36855,23.750088333333334]";
StringTokenizer st = new StringTokenizer(s, "[],");
String lat = st.nextToken();
String lon = st.nextToken();
在此字符串中,[
只出现一次。因此在这一行中,字符串lon=st.nextToken();
将引发异常,因为nextToken()
不可用
由于字符串是JSONArray
,因此可以使用org.json
获取lat和lon
例如:
但是,如果您不想使用JSONArray
,那么StringTokenizer
也可以为您提供帮助。只需使用[],
更新regx即可:
String s = "[90.36855,23.750088333333334]";
StringTokenizer st = new StringTokenizer(s, "[],");
String lat = st.nextToken();
String lon = st.nextToken();
用这个替换你的代码
String s = "[90.36855,23.750088333333334]";
s = s.substring(1, s.length() - 1); //Trim first and last brackets
StringTokenizer st = new StringTokenizer(s, ","); //pass comma as delimeter
String lat = st.nextToken();
String lon = st.nextToken();
用这个替换你的代码
String s = "[90.36855,23.750088333333334]";
s = s.substring(1, s.length() - 1); //Trim first and last brackets
StringTokenizer st = new StringTokenizer(s, ","); //pass comma as delimeter
String lat = st.nextToken();
String lon = st.nextToken();
试试这个
String s = "[90.36855,23.750088333333334]";
StringTokenizer st = new StringTokenizer(s,",");
String lat = st.nextToken().substring(1);
String lon = st.nextToken();
lon = lon.substring(0,lon.length()-1)
试试这个
String s = "[90.36855,23.750088333333334]";
StringTokenizer st = new StringTokenizer(s,",");
String lat = st.nextToken().substring(1);
String lon = st.nextToken();
lon = lon.substring(0,lon.length()-1)
是的,这确实有效。我将使用第一个。非常感谢。虽然其他答案也正确,但我将接受这个答案,因为我使用了jsonArray。获取(0)为了解决这个问题。谢谢大家。是的,这确实有效。我将使用第一个。非常感谢。虽然其他答案也正确,但我将接受这个答案,就像我使用jsonArray一样。获取(0)来解决这个问题。谢谢大家。