【问题标题】:Finding a string within a string在字符串中查找字符串
【发布时间】:2011-01-11 20:58:41
【问题描述】:

我怎样才能显示这个?子串?拆分? ...

但它可能是动态的!!!

String str = "SET ENCALSUP=NOENCR&GSMV2,MAXNCELL=16,TDTMWIND=5,MAXLAPDMN=5,EENHDTMSUP=DISABLED,T3197=4,PAGCOORCLB=DISABLED,DGRSTRGYBCNT=DISABLED,PAGQOVLIND=0;";

此输出(EENHDTMSUP=DISABLED):

就这个

DISABLED

谢谢...

【问题讨论】:

标签: java string split substring


【解决方案1】:

你的问题不是很清楚。你只需要知道“EENHDMSUP”的价值吗?

如果是这样,类似:

int start = myString.indexOf("EENHDTMSUP=");
String substr = myString.subString(start,myString.indexOf(',',start);
System.out.println(substr);

可能会工作。

【讨论】:

    【解决方案2】:

    这是你要找的吗?

    StringTokenizer tokenizer = new StringTokenizer(str.substring(4),",");
    while(tokenizer.hasMoreTokens()){
        System.out.println(tokenizer.nextToken());
    }
    

    【讨论】:

    • 您的第一个 tokenizer.nextToken() 将显示:“SET ENCALSUP=NOENCR&GSMV2”。我认为他希望删除“SET”。
    • 我已经删除了“SET”以及传递给标记器构造函数的字符串上的子字符串。这应该不是问题。
    • 虽然看起来这不是发帖人所要求的。哦,好吧。
    • 抱歉,我在您的 StringTokenizer 构造函数中遗漏了您的 substring(4)。
    【解决方案3】:

    不确定您所说的“但它可能是动态的”是什么意思。 但是,如果字符串始终遵循该格式并且“EENHDTMSUP=DISABLED”保持在字符串中的同一索引处,那么您可以使用:

    String output = str.Split(',')[4];
    

    【讨论】:

      【解决方案4】:

      你为什么不试试呢?

      String[] strings = str.split(",");
      
      for (String s:strings) {
          if (s.toLowerCase().startsWith("set ")) {
              s = s.substring("set ".length());
          }
      
          System.out.println(s);
      }
      

      当然是使用正则表达式;)

      【讨论】:

        猜你喜欢
        • 2011-07-13
        • 2014-03-26
        • 2016-01-26
        • 2014-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多