【问题标题】:android split() or indexof()android split() 或 indexof()
【发布时间】:2011-03-13 00:54:27
【问题描述】:

大家好 我有几行看起来像这样的文本行

You are a friend:
name= [1] 
From= [ 2011-02-28 07:00:52] 
To= [2011-03-17 07:01:02]
Link= [http://www.example.com]
type= [good] for some

并且我只想阅读括号“[]”之间的文本我想知道阅读它的最佳方法是使用 split(string) 或使用 indexof(string) 更好,如果有是一个很好的例子,也有人可以向我解释这段代码如何读取括号之间的文本

谢谢

String s = addressString;
int be = s.indexOf('[');
int e = s.indexOf(String[] fields = s.substring(s.indexOf('['), s.indexOf(']'));

我发现我发布的代码应该是这样的

String s = addressString;                                           
int be = s.indexOf('[');
int e = s.indexOf(']');                                             
String fields = s.substring(be+1, e);                             

但现在我有另一个问题,我有不止一行,所以当我将它更改为 String[] 字段时,它给了我一个错误,所以我怎样才能让它读取多行我尝试了一个 for 循环但仍然它只读取括号之间的数字 1 ...!!!

谢谢你

【问题讨论】:

  • 您在底部发布的最后一行代码有问题。一方面,括号甚至不平衡。对于另一个,这没有意义。

标签: android string split indexof


【解决方案1】:

你可以这样做:

String lines[] = {"You are a friend:", 
                  "name= [1]", 
                  "From= [ 2011-02-28 07:00:52]", 
                  "To= [2011-03-17 07:01:02]", 
                  "Link= [http://www.example.com]", 
                  "type= [good] for some"};
for (int i = 0; i < lines.length; i++)
{// your previous code, but use lines[i] instead of s }

【讨论】:

    【解决方案2】:

    如果括号总是在开头和结尾,那么这样做可能更容易:

    String s = addressString;
    String innerText = s.substring(1,s.length-1);
    

    【讨论】:

    • 如果你看到最后一个例子,“type= [good] for some”不是这种情况。
    猜你喜欢
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多