我需要一些帮助来编辑字符串并将该部分字符串添加到ArrayList
个字符串中:
public ArrayList<String> strings = new ArrayList<String>();
基本上我的程序从Internet读取文件并将读取文件的内容设置为String。然后,我想通读字符串内容来查找关键字:
website=http://google.com
website=http://stackoverflow.com
我只想将website=
之后的部分添加到字符串数组中,我还想考虑website
部分是否存在,因为除了{之外我还会有其他的东西{1}},例如website=
。我只是不知道如何做到这一点。
如果有人可以帮我解决这个问题,或者解释一下更好的方法,我可以自己去做一个洞法,这对我有很大帮助。
答案 0 :(得分:2)
所以你把所有这些都放在一个字符串中?那么正则表达式可能是一种方法,例如, Pattern
和Matcher
以及表达式website=(\S+)
。
示例:
String input = "website=http://google.com ping=http://pong.com website=http://stackoverflow.com";
Pattern p = Pattern.compile( "website=(\\S+)" );
Matcher m = p.matcher( input );
while( m.find() )
{
System.out.println(m.group(1));
}
输出:
http://google.com
http://stackoverflow.com
答案 1 :(得分:0)
没有单一的方法,但您可以使用的一些东西是: 1. String.contains()函数:使用它来查看字符串是否包含子字符串。为了说明案例敏感性,您可以使用:
str = "website="
yourString.toLowerCase().contains(str.toLowerCase())
您可以与if
逻辑结合使用:
if(yourString.toLowerCase().contains(str.toLowerCase())
//do something
您可以获取website=
之后的字符索引,如:
str="website=";
int index = yourString.indexOf(str)+str.length();
使用以上所有内容编写符合您需求的逻辑。