代码之家  ›  专栏  ›  技术社区  ›  joe

如何从数组列表中提取特定子串之间的不同子串?

  •  2
  • joe  · 技术社区  · 7 年前

    我不知道如何恰当地问这个问题,但希望这个例子能澄清问题。

    我有一个字符串列表,例如(“AS3K NJNSADN公司 KLMDSMF043J型 4455 NKFDG公司 4455

    如你所见,有“4455”在重复。我会有一个很长的刺列表,假设4455代表我想要提取的消息的开始/结束。我不知道实现这一点的最佳方法是什么,所以如果有人遇到过类似的问题,请停止:)

    2 回复  |  直到 7 年前
        1
  •  4
  •   Sebastiaan van den Broek    7 年前

    如果你不需要实际的'4455'部分,你可以只分裂的字符串。

    String[] parts = myString.split("4455");
    

    如果你真的需要这个前缀/后缀,你可以把它加回去。

        2
  •  5
  •   Leviand    7 年前

    您可以使用 StringTokenizer

    String string = "AS3K4455NJNSADN4455KLMDSMF043J4455NKFDG4455KMMFDG";
    StringTokenizer tokenizer = new StringTokenizer(string, "4455");
    while(tokenizer.hasMoreTokens()){
        System.out.println("Token: "+ tokenizer.nextToken()); //or do whatever you need with your token, here I'm printing
    }
    

    输出:

    Token: AS3K
    Token: NJNSADN
    Token: KLMDSMF0
    Token: 3J
    Token: NKFDG
    Token: KMMFDG