我正在创建一个 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/