gpt4 book ai didi

java - 从 EditText 获取所有主题标签

转载 作者:行者123 更新时间:2023-12-01 12:29:33 26 4
gpt4 key购买 nike

我有一个 EdiText .用户可以在其中提及主题标签。我想获取这些标签并将它们添加到 ArrayList .如何从 EdiText 获取这些主题标签.

假设我的 edittxtmsg包含 #Stackoverflow slove me #hashtag #problem
我想要这些标签:#Stackoverflow #hashtag #problem

edittxtmsg.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
// TODO Auto-generated method stub

}

@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub

int strLenght = s.toString().length();
int available = 140 - strLenght;
setAvailableSpace(available);
if (available < 0) {
s.delete(strLenght - 1, strLenght);
}
mfinalmsg = s.toString();


}

private void setAvailableSpace(int available) {
// TODO Auto-generated method stub
tvcount.setText(available + "");
}
});

最佳答案

您可以使用正则表达式从 EditText 获取所有主题标签:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

String text = editText.getText().toString();
String regexPattern = "(#\\w+)";

Pattern p = Pattern.compile(regexPattern);
Matcher m = p.matcher(text);
while (m.find()) {
String hashtag = m.group(1);
// Add hashtag to ArrayList
...
}
(#\\w+)匹配所有以 # 开头的主题标签.

这个也很快。

enter image description here

关于java - 从 EditText 获取所有主题标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com