`
42087743
  • 浏览: 235156 次
  • 性别: Icon_minigender_1
  • 来自: 合肥&上海
社区版块
存档分类
最新评论

手机通讯录联系人搜索

阅读更多
1. 需求:
 
引用
手机通讯录联系人搜索支持单字,拼音跳跃搜索


2. 实现原理
 
引用
将搜索关键词按字符切分,组合成正则表达式,再从db中获得contactsAllList,遍历将field转换为拼音,类似"YAO 姚 YI 亦 RONG 容"的格式,转换后通过生成的正则表达式匹配,成功则代表搜索成功


3. 正则表达式
^(.*\\b)?$1.*$


4. 测试
static String sourceStr = "YAO 姚 YI 亦 RONG 容";

static String key = "YI";

static String reg = "(.*\\b)?$1";

// TODO 优化:charAt()效率,StringBuffer
public static void main(String[] args) {
    String regex = "";
    key = key.toUpperCase();
    for (int i = 0; i < key.length(); i++) {
        regex += reg.replace("$1", String.valueOf(key.charAt(i)));
    }
    regex = "^" + regex + ".*$";
    System.out.println(regex);
        System.out.println(Pattern.compile(regex).matcher(sourceStr).matches());
}
分享到:
评论

相关推荐

    C语言手机通讯录系统

    本文将深入解析一个基于C语言的手机通讯录管理系统的实现细节,该系统提供了添加、查询、修改和删除联系人的功能。 #### 系统功能概述 1. **添加联系人(Add)**:允许用户输入联系人的姓名、电话号码和地址,将其...

    安卓通讯录联系人打电话归属地相关-android通讯录功能实现了如下功能1.检索手机存入联系人并显示2.右侧导航条根据拼音字母检索联系人3.通过搜索栏实时搜索联系人4.vCard格式导出并发送分享功能5.检测系统通讯录是否有变化有变化在通知栏通知并更新联系人列表功能.rar

    检索手机存入联系人并显示 2.右侧导航条根据拼音字母检索联系人 3.通过搜索栏实时搜索联系人 4.vCard格式导出并发送分享功能 5.检测系统通讯录是否有变化,有变化在通知栏通知,并更新联系人列表功能.rar,太多无法一一...

    手机通讯录按照字母排序点击找到联系人

    手机通讯录通常会按照字母顺序排列,方便用户快速查找所需联系人。在本项目中,我们关注的是一个使用Vue.js、JavaScript(JQ)实现的手机通讯录功能,其中可能遇到了一些小问题。让我们详细探讨这个话题。 首先,...

    Android手机通讯录制作

    设计一个基于Android的手机通讯录,此通讯录包括添加、搜索、修改、删除联系人的功能。 添加、编辑、删除功能 点击通讯录主界面选项菜单中的“添加联系人”菜单项,进入添加联系人界面,输入联系人的基本信息,包括...

    阶段项目:手机通讯录参考代码.

    在手机通讯录中,每个联系人通常包含以下信息:姓名、电话号码、电子邮件地址、家庭地址、公司信息等。这些信息可以通过一个联系人对象来表示,对象中包含各个属性字段。 在编程实现中,我们可以创建一个`Contact`...

    Android开发手机通讯录

    这可能包括搜索栏、联系人列表、以及用于添加新联系人的表单。此外,Material Design指南是Android开发中的重要参考,它提供了统一的视觉风格和交互规范。 其次,**数据存储**是通讯录应用的基础。Android提供了...

    获取手机通讯录源码(带多个联系人选择)

    在Android开发中,获取手机通讯录并实现联系人选择功能是一项常见的需求,尤其在构建具有社交元素的应用时。本文将详细解析如何通过源码实现这一功能,包括从手机通讯录读取联系人信息、列表展示、多选机制以及返回...

    android仿手机通讯录效果

    1. **获取手机通讯录联系人**: 在Android中,我们可以使用`ContentResolver`和`ContactsContract`类来访问系统中的联系人数据。首先,我们需要请求读取联系人权限(`READ_CONTACTS`)。然后,通过`ContentResolver...

    C++编写的手机通讯录

    这个系统包含了手机通讯录的常见功能,如添加联系人、删除联系人、修改联系人信息、查询联系人以及清空全部联系人数据。下面,我们将深入探讨这些功能的实现细节和C++中的关键概念。 首先,系统的基石是数据结构的...

    手机通讯录c++程序

    在每次循环中,`main()`函数会显示菜单供用户选择操作:添加新联系人、搜索联系人或退出程序。根据用户的选择调用相应的函数执行具体的操作。 通过以上分析,我们可以看到,这个简单的手机通讯录程序不仅涵盖了...

    android开发的手机通讯录(毕业设计,课程设计)

    通讯录应用通常包含列表视图(ListView)来展示联系人,搜索框(EditText)用于查找联系人,以及添加、编辑联系人的按钮。Android Studio提供的布局编辑器可以简化这一过程,使得开发者能够直观地设计界面。 2. **...

    手机通讯录产品横评及畅想

    此外,它还支持智能搜索,让用户快速找到所需联系人。 友录通讯录则注重社交化功能,除了基本的联系人管理外,还提供了群组聊天、共享日程等社交元素。用户可以创建联系人群,方便团队协作或家庭成员之间的沟通。...

    手机通讯录

    【手机通讯录】是针对移动设备开发的一种应用程序,主要用于存储、管理和检索个人联系人信息。在J2ME(Java 2 Micro Edition)平台上,开发者可以利用Java语言编写这样的程序,使其能在各种不同类型的手机上运行。...

    组合控件仿通讯录联系人

    在仿通讯录联系人的场景中,这种控件可能包含一个搜索栏,用于快速查找联系人,以及一个可滚动的列表,展示联系人的详细信息。 实现这个控件时,我们可能需要以下技术点: 1. 数据结构:通讯录数据通常以列表形式...

    C语言做的手机通讯录

    在这个项目中,“C语言做的手机通讯录”是利用C语言实现的一个简单应用程序,它模拟了手机上的联系人管理功能。这个项目对于初学者来说是一个很好的实践机会,因为它涵盖了基本的输入输出、数据结构和文件操作等核心...

    android手机通讯录的毕业论文

    在Android操作系统中,手机通讯录是一个至关重要的功能,它不仅为用户提供联系人存储、查找和管理的便捷方式,还与其他应用程序和服务紧密集成。这篇“android手机通讯录的毕业论文”可能涉及以下几个关键知识点: ...

    android——手机通讯录Demo

    在Android平台上,开发一款模仿QQ通讯录的手机通讯录Demo是一项常见的练习,旨在熟悉系统API接口,实现数据同步,联系人分类以及基本的增删功能。这个项目可以帮助开发者提升对Android系统的理解,尤其是关于联系人...

    类似手机通讯录实例

    文件名称`SortListView`可能是指一个经过优化的ListView,用于展示排序后的通讯录联系人。在Android中,ListView是一个非常常见的控件,用于展示大量的列表数据,具有良好的性能优化。在通讯录应用中,我们可能需要...

    手机通讯录管理系统 C语言

    手机通讯录管理系统是一款基于C语言开发的应用程序,它主要用于管理和操作个人或组织的联系人信息。C语言以其简洁、高效和广泛的平台支持,成为实现此类系统的一个合适选择。该系统可能包括添加联系人、删除联系人、...

Global site tag (gtag.js) - Google Analytics