我将如何在java中的字符之后搜索某个单词



所以我正在做一些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 文档链接以详细了解这是做什么的。

最新更新