假设我有一个字符串: String message = "你应该试试 http://google.com/ ";
现在,我想将“http://google.com/”发送到一个新的 字符串网址
我想做的是: 检查字符串中的“单词”是否以“http://”开头并提取该单词,其中一个单词是 被空格包围的东西(单词的一般英语定义)。
我不知道如何提取字符串,我能做的最好的就是在字符串上使用 startsWith。如何在单词上使用 startsWith 并提取单词? 对不起,如果这有点难以解释。 提前致谢!
编辑:此外,我应该如何从 REGEX 操作中提取单词?如果字符串中的 url 超过 1 个,我应该如何处理?
最佳答案
使用模式和匹配器类。
String str = "blabla http://www.mywebsite.com blabla";
String regex = "((https?:\\/\\/)?(www.)?(([a-zA-Z0-9-]){2,}\\.){1,4}([a-zA-Z]){2,6}(\\/([a-zA-Z-_/.0-9#:+?%=&;,]*)?)?)";
Matcher m = Pattern.compile(regex).matcher(str);
if (m.find()) {
String url = m.group(); //value "http://www.mywebsite.com"
}
此正则表达式适用于 http://...
、https://...
甚至 www...
网址。其他正则表达式可以很容易地在网上找到。
关于java - 如何从字符串中提取单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277933/