如何在Android中使用Java从服务数据提取的字符串中删除双引号?
我正在从服务中获取数据,并从数据中删除此格式的数据 我已将数据保存在如下数组中: 字符串数据数组24150:1,产品组,12345,维修备件 字符串数据数组24150:2,产品组,12345,不再使用 字符串数据数组24150:3,产品组,12345,门入口 现在我想从这个数组中提取字符串**产品组,如果我已经初始化的字符串等于产品组,那么在最后一个逗号后将文本保存在数组列表中,不带双引号。下面是代码,但它返回给我如何删除双引号请指导我…**如何在Android中使用Java从服务数据提取的字符串中删除双引号?,java,android,web-services,arraylist,spinner,Java,Android,Web Services,Arraylist,Spinner,我正在从服务中获取数据,并从数据中删除此格式的数据 我已将数据保存在如下数组中: 字符串数据数组24150:1,产品组,12345,维修备件 字符串数据数组24150:2,产品组,12345,不再使用 字符串数据数组24150:3,产品组,12345,门入口 现在我想从这个数组中提取字符串**产品组,如果我已经初始化的字符串等于产品组,那么在最后一个逗号后将文本保存在数组列表中,不带双引号。下面是代码,但它返回给我如何删除双引号请指导我…** for(int i=0;i<spinn
for(int i=0;i<spinnerDataArraylocal.length;i++)
{
Log.i("String data array",""+spinnerDataArraylocal[i]);
int index1 = spinnerDataArraylocal[i].indexOf(",");
String labelString = spinnerDataArraylocal[i].substring(index1+1,spinnerDataArraylocal[i].indexOf(",",index1+1));
Log.i("first comma position:",""+labelString);
if(labelString.equals("\"Premises Type\""))
{ int index = spinnerDataArraylocal[i].lastIndexOf(",");
Log.i("string compare","labelString" + labelString);
Log.i("extrACT STRING:" , spinnerDataArraylocal[i].substring(index+1));
String sample = spinnerDataArraylocal[i].substring(index+1);
Log.i("sample",""+sample);
premisesTypeArrayList.add(sample.toString().trim());
Log.i("premisesTypeArrayList",""+premisesTypeArrayList);
ArrayAdapter<String> adapterPremisesType = new ArrayAdapter<String>(
getActivity().getApplicationContext(),R.layout.custom_spinner,
premisesTypeArrayList);
adapterPremisesType.setDropDownViewResource(R.layout.custom_spinner_item_list);
spinnerPremisesType.setAdapter(adapterPremisesType);
spinnerPremisesType.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
adapterPremisesType.notifyDataSetChanged();
}
下面是我的下拉数据是如何填充的,应该没有双引号和空格
喜欢这个字符串=string.replaceAll\
下面是拆分代码
String string = "41,\"Premises Type\",\"A\",\"Retail\"";
string =string.replaceAll("\"", "");
String[] array =string.split(",");
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
您的完整代码如下所示
for(int i=0;i<spinnerDataArraylocal.length;i++)
{
String spinData = spinnerDataArraylocal[i];
spinData = spinData.replaceAll("\"", "");
String spinData[] = spinData.split(",");
if(spinData[1].trim().equals("Premises Type"))
{
String sample = spinData[1]+","+spinData[2]+","+spinData[3];
premisesTypeArrayList.add(sample.toString().trim());
ArrayAdapter<String> adapterPremisesType = new ArrayAdapter<String>(
getActivity().getApplicationContext(),R.layout.custom_spinner,
premisesTypeArrayList);
adapterPremisesType.setDropDownViewResource(R.layout.custom_spinner_item_list);
spinnerPremisesType.setAdapter(adapterPremisesType);
spinnerPremisesType.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
adapterPremisesType.notifyDataSetChanged();
}
完整的代码
public class Tets {
public static void main(String [] args) {
String data = "3,\"product group\",\"12345\",\"Door Entry\"";
String [] items =data .split(",");
System.out.println(items[0]);
System.out.println(items[1].substring (1,items[1].length()-1));
System.out.println(items[2].substring (1,items[2].length()-1));
System.out.println(items[3].substring (1,items[3].length()-1));
}
}
祝你好运你能发布你收到的文本吗?我的整个文本都很大,不能在这里发布,它包含我已将它们与之分离的标记,但对于这种类型的数据,这不是正确的显示方式
public class Tets {
public static void main(String [] args) {
String data = "3,\"product group\",\"12345\",\"Door Entry\"";
String [] items =data .split(",");
System.out.println(items[0]);
System.out.println(items[1].substring (1,items[1].length()-1));
System.out.println(items[2].substring (1,items[2].length()-1));
System.out.println(items[3].substring (1,items[3].length()-1));
}
}