安卓Sqlite.删除所有非数字

安卓Sqlite.删除所有非数字,第1张

概述我想查询没有非数字符号的字段.Cursorc=context.getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses/"),newString[]{"address","_id"},"replace("+"address"+",'[^0-9]','&#039

我想查询没有非数字符号的字段.

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时,光标不会移到下一个

怎么了?

解决方法:

替换中不提供正则表达式支持,AndroID sqlite也未提供正则表达式功能的实现.

最好的选择是添加另一列,该列用于搜索,并且在其中删除了不重要的字符的值.您可以在Java代码中使用正则表达式.

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

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

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

总结

以上是内存溢出为你收集整理的安卓Sqlite.删除所有非数字全部内容,希望文章能够帮你解决安卓Sqlite.删除所有非数字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1087911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存