哪个更好的方法从sqlite中的逗号分隔字符串中找到特定的数字?
我的数据表
------------------------------------------------------------------------- |id | name | relations(This is String)| ------------------------------------------------------------------------- |1 | ABC | 1,2,3,4,5 | ------------------------------------------------------------------------- |2 | XYZ | 14,3,4,5 | -------------------------------------------------------------------------
我的目标是找到哪个关系包含1的行,并从字符串中删除此关系 但是当我使用像查询时,它返回我的两行和其他我在java中做的事情
我想找到具有完全匹配的确切行我知道可以使用regexp完成我不知道如何
答案 0 :(得分:0)
你无法在android中搜索sqlite数据库中的正则表达式。见how to search sqlite database using regular expression in android?
但是你可以在返回的字符串中搜索正则表达式:
String RESULT_FROM_DB = "1111,1,3,234,1,2,4";
Pattern p = Pattern.compile("\\b1\\b");
Matcher m = p.matcher(RESULT_FROM_DB);
if(m.find()){
//Do your stuff here.
System.out.println(m.start());
System.out.println(m.end());
}
您应该将用于编译的正则表达式中的1
替换为您需要的数字(如您所说的动态值。)