我正在尝试从字符串中提取单词但不能这样做
我的字符串
String inpt="@[[4861:contact:An gela]] and @[[5163:contact:Bash]] and #asda @[[8888:contact:Dash Dash]]";
预期
String[] output={"@[[4861:contact:An gela]]","and","@[[5163:contact:Bash]]","and","#asda","@[[8888:contact:Dash Dash]]"}
我尝试了这个逻辑(不要与作为我的应用程序一部分的HTML标签混淆)
String inpt="@[[4861:contact:An gela]] and @[[5163:contact:Bash]] and #asda @[[8888:contact:Dash Dash]]";
getHtmlTag(inpt);
public void getHtmlTag(String inpt){
String[] inptArr=inpt.split("&");
for (int i = 0; i < inptArr.length; i++) {
if(inptArr[i].contains("@")){
String temp=inptArr[i].replace("[","");
String temp1=temp.replace("]","");
String temp2=temp1.replace("@","");
list.add(temp2);
String stop=getRequiredStringValue(temp2);
finaldString=finaldString+" "+stop;
}else {
extraList.add(inptArr[i]);
finaldString=finaldString+" "+inptArr[i];
}
}
}
public String getRequiredStringValue(String str){
String userID="";
String userName="";
String tag="";
String inputStr[]=str.split(":");
for (int j = 0; j < inputStr.length; j++) {
userID=inputStr[0];
userName=inputStr[2];
}
tag="<a href='index.php?option=com_community&view=profile&userid="+userID+"'>"+userName+"</a>";
return tag;
}
答案 0 :(得分:2)
您可以使用RegEx和String拆分方法执行此操作。 在您的情况下(根据我对您的输入和预期输出的理解):
assert(3)
此RegeEx将在空格上拆分字符串,但除了&#34; []&#34;之间的字符串。