Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否匹配sqllite中逗号分隔字符串的查询?_Java_Android_Sqlite - Fatal编程技术网

Java 是否匹配sqllite中逗号分隔字符串的查询?

Java 是否匹配sqllite中逗号分隔字符串的查询?,java,android,sqlite,Java,Android,Sqlite,在sqlite中,从逗号分隔字符串中查找特定数字的更好方法是什么 我的数据表 ------------------------------------------------------------------------- |id | name | relations(This is String)| -------------------------------------------------------------

在sqlite中,从逗号分隔字符串中查找特定数字的更好方法是什么

我的数据表

------------------------------------------------------------------------- |id | name | relations(This is String)| ------------------------------------------------------------------------- |1 | ABC | 1,2,3,4,5 | ------------------------------------------------------------------------- |2 | XYZ | 14,3,4,5 | ------------------------------------------------------------------------- 我的目标是找到包含1的关系行,并从字符串中删除此关系 但当我使用like查询时,它会返回我在java中执行的行和其他操作


我想找到精确匹配的精确行,我知道可以使用regexp完成,我不知道如何在android的sqlite数据库中搜索regex。看到这个了吗

但您可以在返回的字符串中搜索正则表达式:

 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替换为您所说的需要动态值的数字。

尝试从id为1,2,3,4,5的表中选择*步骤1:执行此查询从表中选择关系\u名称步骤2:使用拆分函数分离值步骤3:执行删除查询处理此问题的最佳方法是更改数据库结构,这样您就有了第二个关系表,每行一个值。告诉您的DBA返回学校。