我有一个html文件index.html,如下所示:
0101111Item1 9110110Item2 1120111Item3 0130103Item4 0110103Item5 0110109Item6 ...
我终于把它放到一个名为content1的字符串中:
setContentView(R.layout.last);
T1 = (TextView)findViewById(R.id.T1);
StringBuilder content1 = new StringBuilder();
try {
URL url = new URL("http://website/index.html");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
content.append(str +"\n");
T1.setText(content1);
}
in.close();
} catch (MalformedURLException e){
} catch (IOException e) {
e.printStackTrace();
}
给我输出一个项目在最后一个。这对我来说很好。
有一些CheckBox可以决定用户想要如何过滤,例如 第一个问题1,第二个问题2,第三个问题1 + 2导致我的代码,我的代码,第四个问题没有过滤器导致我的代码中的9。 所以我得到了一个额外的字符串,看起来像userfilter = 1009011.我还将filterresults的每个单独位置放在一个变量中(var1,var2,var3,... var6,var7)。
现在我想要过滤,这就是我被卡住的地方。在我的“没有程序员大脑”中它看起来像这样:
if var1 = 1
result = result + text from content1 where first digit = 1
if var1 = 0
result = result + text from content1 where first digit = 0
if var1 = 9
result = result + text from content1 where first digit = everything
if var2 = 1
result = result + text from content1 where second digit = 1
...
好的家伙,对不起文字的墙。我希望你能看到我在寻找的东西。只是为那些想知道的人添加一些信息:英语不是我的第一语言,我是编程领域的绝对初学者。
答案 0 :(得分:0)
如果我理解你的问题:
String.split(String regex)
String[] a = content1.split("\n")
将为您提供一个字符串数组 - 事实上,这将是您打包到一个字符串中的行,您可以将它们存储到ArrayList中,并避免需要拆分该行。
for(String s:a) if (s.startsWith(prefix)) { ... }
将迭代数组并过滤感兴趣的项目。
积累它们:ArrayList
ArrayList results = new ArrayList()
并向数组添加字符串:results.add(s)