所以我正在做一些cw,我想在字符串中搜索标签"#"后面的单词。
我该怎么做?例如,假设字符串是"Hello World #me"?我该如何返回"我"这个词?
亲切问候
使用正则表达式并准备一个Matcher
以迭代方式查找主题标签
String input = "Hello #World! #Me";
Pattern pattern = Pattern.compile("#(\S+)");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
输出:
World!
Me
根据该字符拆分字符串 说
String []splittedString=inputString.split("#");
System.out.println(splittedString[1]);
所以对于输入字符串
Hello World #me'
输出
me
使用这个
example.substring(example.indexOf("#") + 1);
使用正则表达式:
// Matches a string of word characters preceded by a '#'
Pattern p = Pattern.compile("(?<=#)\w*");
Matcher m = p.matcher("Hello World #me");
String hashtag = "";
if(m.find())
{
hashtag = m.group(); //me
}
那么约翰,让我猜猜。你是华威大学的计算机科学专业学生。给你
String s = "hello #yolo blaaa";
if(s.contains("#")){
int hash = s.indexOf("#") - 1;
s = s.substring(hash);
int space = s.indexOf(' ');
s = s.substring(space);
}
如果不想包含 # ,请删除 -1
一个简单的方法是使用 indexOf,然后你应该将重载的 indexOf 与 subString 一起使用
例如:
String myString = originalString.substring(originalString.indexOf("#"),originalString.indexOf(" "),originalString.indexOf("#"));
请注意,如果找不到字符,这可能会引发越界错误。阅读 java 文档链接以详细了解这是做什么的。