java - 如何列出字符串中的所有提及

标签 java android kotlin

我正在创建一个 EditText,它可以在用您的昵称写 @ 时提及其他用户,例如在 Facebook、Instagram、Twitter 等上。例如,在文本“今天@john 和@jane ate a cake”,我想创建一个ArrayList,其值为“john”和“jane”。 I tried this但它没有用。怎么做才能做到这一点?

最佳答案

使用这个正则表达式。它查找 @ 后面的单词字符组(字母、数字、下划线)。

val atMentions: List<String> = "(?<=@)\\w+".toRegex().findAll(editText.text).map { it.value }

如果您需要定义一组不同的单词字符,请将上面的 \\w 替换为 [\\w] 并将其他可接受的字符紧跟在

关于java - 如何列出字符串中的所有提及,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59793149/

相关文章:

android - Kotlin - var 属性与对象副本

android - 使用 Retrofit 的 API 响应对于某些不为 null 的参数返回 null

java - Java 如何在运行时传递算术运算符?

java - 如何在 Java 中获取当前目录列表的数组,包括文件/目录名称、上次修改时间和大小?

java - Android Studio 中的 IllegalAccessException 目标 android 为 4.4

java - 在非常慢的 2G 互联网上下载 xml 数据

java - 文本挖掘sql模式文件

java - 需要在 AspectJ 项目中配置 Spring AOP Advice

android - 与 Java 相比,使用 kivy 编码时 .apk 的大小

android - 错误: Class is referenced as a converter but it does not have any converter methods