我有一个像这样的字符串aa | bb | "cc | dd" | 'ee | ff',我正在寻找一种方法来分割它,以获得由字符分隔的所有值,|但字符串中包含的除外|。
我们的想法是得到这样的东西[a, b, "cc | dd", 'ee | ff']
我已经在这里找到了类似问题的答案:https ://stackoverflow.com/a/11457952/11260467
然而,我找不到一种方法来适应具有多个分隔符的情况,这里有人在正则表达式方面比我不那么愚蠢吗?
我想知道是否可以在有空间的外键上创建一个可能的空引用。
现在我的数据库结构是这样的:
@Entity(tableName = "A")
class A {
@PrimaryKey(autoGenerate = true)
public long id;
}
@Entity(tableName = "B")
class B{
@PrimaryKey(autoGenerate = true)
public long id;
}
@Entity(tableName = "C", foreignKeys = {@ForeignKey(entity = A.class, parentColumns = "id", childColumns = "foreign_id_a"), @ForeignKey(entity = B.class, parentColumns = "id", childColumns = "foreign_id_b")})
class C{
public long id;
public long foreign_id_a;
public long foreign_id_b;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够插入以下对象:
C(id=1, foreign_id_a=1, foreign_id_b=1)
C(id=1, foreign_id_a=null, foreign_id_b=1)
C(id=1, foreign_id_a=1, foreign_id_b=null)
Run Code Online (Sandbox Code Playgroud)
但是之前的空值插入给出了这个错误:FOREIGN KEY 约束失败(Sqlite 代码 787 SQLITE_CONSTRAINT_FOREIGNKEY)
有没有办法让它成为可能?
我有一个可能很简单的问题,但是我找不到答案。
我希望能够获取对象在列表中出现的所有索引,但无需在列表上循环。
public void exampleFunction(){
ArrayList<Integer> completeList = new ArrayList<>();
completeList.add(1);
completeList.add(2);
completeList.add(1);
Integer searchObject = 1;
List<Integer> indexes = DO SOMETHING TO GET THE INDEXES LIST [0, 2];
}
Run Code Online (Sandbox Code Playgroud) android ×1
android-room ×1
database ×1
foreign-keys ×1
java ×1
php ×1
preg-split ×1
regex ×1
split ×1
string ×1