gpt4 book ai didi

安卓。数据库。删除所有非数字

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:11 24 4
gpt4 key购买 nike

我想查询其中没有非数字符号的字段。

Cursor c=context.getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses/"), new String[] {"address","_id"}, "replace("+"address"+", '[^0-9]','')"+" LIKE ?",  new String[] {"%"+subaddress+"%"}, null);

但是当我通过子地址 8888888 以 DB 编号格式 +7(888)888-88-88 搜索时,光标不移动到下一个

怎么了?

最佳答案

replace 不支持正则表达式,Android sqlite 也不提供 regex 函数的实现。

您最好的选择是添加另一个用于搜索的列,其中的值会去除无关紧要的字符。您可以在 Java 代码中使用您的正则表达式。

如果这不是一个选项并且特殊字符集很小,您可以使用嵌套替换:

replace(replace(replace(replace(address, '+', ''), '-', ''), '(', ''), ')', '')

但如您所见,这变得很麻烦。

关于安卓。数据库。删除所有非数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21476254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com