-2

スターリング周りのブラケットを外すには?データベースクエリを実行すると、配列文字列に保存されたデータベースから値を取得しています。値を囲むブラケットを表示するにはどうすればよいですか? [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で見たとき

in 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 + "]"

要素が 1 つしかないため、文字列の周りに角かっこが追加されたように見えます。

ここに配列リストが本当に必要ですか? その場合、 に置き換える必要がありますMeal_groupid.toString()Meal_groupid.get(0)ただし、0 は、リスト内の必要な文字列のインデックスに置き換える必要があります。

一度に 1 つの文字列のみが必要な場合は、配列リストを一緒に使用しないでください。これにより、文字列をデータベース クエリに直接プラグインできます。

.replace("[", "").replace("]", "")実際の文字列を囲む括弧がないため、必要ありません。

于 2013-11-01T13:09:05.173 に答える