Java 返回字符串中的href

Java 返回字符串中的href,java,java-me,Java,Java Me,如何在字符串中返回href,我可以访问起始位置,但不确定如何获取最后位置: 以下是我到目前为止的情况: String str = "sadf ad fas dfa http://www.google.com sdfa sadf as dfas"; int index = str.indexOf("http"); String href = str.substring(index , ???); 结束索引应该是什么 注意,这是针对j2me的&我需要尽量减少下载占用空间,

如何在字符串中返回href,我可以访问起始位置,但不确定如何获取最后位置:

以下是我到目前为止的情况:

    String str = "sadf ad fas dfa http://www.google.com sdfa sadf as dfas";

    int index = str.indexOf("http");
    String href = str.substring(index , ???);
结束索引应该是什么


注意,这是针对j2me的&我需要尽量减少下载占用空间,这样我就不能使用正则表达式或第三方正则表达式库。

如果找不到空间,您最好的选择可能是减少最接近索引的空间或字符串结尾的空间。

您最好的选择可能是减少最接近索引的空间或字符串结尾的空间如果找不到空格,则返回字符串末尾。

唯一可靠的方法是使用正则表达式。在Java SE中,您可以执行以下操作:

Pattern p = Pattern.compile("a*b"); // This is the Regular Expression to match
Matcher m = MY_PATTERN.matcher("aaaaaaab"); // This is the String to search through
while (m.find()) { // While there are matches found
    String s = m.group(1);  // Set String s equal to matches of the entire regex
    // s now contains "aaaaaaab"
}
组基本上是正则表达式的一部分。如果用括号括住部分,则会创建一个“组”,并且可以有选择地访问字符串中仅与正则表达式的“部分”或“组”匹配的部分

在J2ME中,您需要导入一个正则表达式库,如下所示:


这是一个整体概念,语法略有不同

唯一可靠的方法是使用正则表达式。在Java SE中,您可以执行以下操作:

Pattern p = Pattern.compile("a*b"); // This is the Regular Expression to match
Matcher m = MY_PATTERN.matcher("aaaaaaab"); // This is the String to search through
while (m.find()) { // While there are matches found
    String s = m.group(1);  // Set String s equal to matches of the entire regex
    // s now contains "aaaaaaab"
}
组基本上是正则表达式的一部分。如果用括号括住部分,则会创建一个“组”,并且可以有选择地访问字符串中仅与正则表达式的“部分”或“组”匹配的部分

在J2ME中,您需要导入一个正则表达式库,如下所示:


这是相同的总体概念,语法略有不同

如果在应用程序中只需要正则表达式库,那么使用正则表达式库可能会非常低效

对于您当前的用例,查找下一个空格字符的索引在实践中可能已经足够好了,但它并不是一个完整的解决方案

您可以编写一个方法,根据URI的标准定义从字符串中提取所有URI:

(实际上,这意味着查找构成URI特定区域的特殊字符以及不允许出现在URI中的字符)


这也是您可能认识到实际上应该查找“http://”索引的原因,而不仅仅是“http”

如果正则表达式库是应用程序中唯一需要它的地方,那么使用正则表达式库可能会非常低效

对于您当前的用例,查找下一个空格字符的索引在实践中可能已经足够好了,但它并不是一个完整的解决方案

您可以编写一个方法,根据URI的标准定义从字符串中提取所有URI:

(实际上,这意味着查找构成URI特定区域的特殊字符以及不允许出现在URI中的字符)


这也是您可能认识到您实际上应该查找“http://”索引,而不仅仅是“http”

您是否尝试添加RegExp库:@OmarIthawi请参阅问题编辑
http:\\www.google.com
不是有效的url。您不能有反斜杠。您是否尝试添加RegExp库:@OmarIthawi请查看问题编辑
http:\\www.google.com
不是有效的url。你不能有反斜杠。对不起,我应该加上他需要为它导入一个库。或者我应该加上他需要为它导入一个库