我想查询没有非数字符号的字段.
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.删除所有非数字所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)