-2

如何去除搅拌周围的支架?当运行数据库查询它的显示括号围绕值时,我从保存在数组字符串中的数据库中获取值我该怎么办?我想去掉stirng [AT] 周围的支架怎么做?

static ArrayList<String> Meal_groupid = new ArrayList<String>();

String formatedString = "[AT]"
    .replace("[", "")   //remove the right bracket
    .replace("]", "");
        
Log.i("Formating Stirng",""+formatedString);
                 
Meal_groupid.add(mCursor2.getString(mCursor2.getColumnIndex("meal_group_id"))
        .replace("[", "").replace("]", ""));

Log.i("MEalGroup ID",""+Meal_groupid);

当在 logcat 中看到

在 logcat 中格式化Stirng AT

MEalGroup ID [AT]

当我运行查询

Cursor mCursor =  db.selectQuery("
    SELECT m.menu_id, m.title AS menu_title
    FROM uss_school_to_menu sm
    LEFT JOIN uss_menu m on sm.menu_id = m.menu_id
    LEFT JOIN uss_school s on s.school_id = sm.school_id
    WHERE s.school_id = '"+ School_ID+"' AND sm.level_id = " +
    SchoolLevelId + " AND m.meal_group_code = '"+Meal_groupid.toString()+"'" );
    

在数据库中它看起来像这样

SELECT m.menu_id, m.title AS menu_title
FROM uss_school_to_menu sm
LEFT JOIN uss_menu m on sm.menu_id = m.menu_id
LEFT JOIN uss_school s on s.school_id = sm.school_id
WHERE s.school_id = '147' AND sm.level_id = 1 AND m.meal_group_code = '[AT]'

我想删除 [AT] 周围的括号

4

1 回答 1

0

您正在呼吁toString()ArrayList<String>从中取出字符串,但这是行不通的。如果你调用toString()一个ArrayList<T>,你通常会得到一个输出

"[" + get(0).toString() + " " + get(1).toString() + " " + get(2).toString() + etc + "]"

你只有一个元素,所以它最终看起来像是在你的字符串周围添加了括号。

你真的需要一个数组列表吗?如果是这样,您需要替换Meal_groupid.toString()Meal_groupid.get(0),除了 0 应替换为您需要的列表中任何字符串的索引。

如果您一次只需要一个字符串,则完全避免使用数组列表,因此您可以直接将字符串插入数据库查询中。

您不需要.replace("[", "").replace("]", ""),因为您的实际字符串周围没有括号。

于 2013-11-01T13:09:05.173 回答