如何从数组列表中提取某些子字符串之间的不同子字符串?

时间:2018-10-15 09:05:51

标签: java string arraylist

我不确定如何正确地问这个问题,但是希望这个例子可以解决问题。

我有一个字符串列表,例如(“ AS3K 4455 NJNSADN 4455 KLMDSMF043J 4455 NKFDG 4455 KMMFDG”)

如您所见,重复“ 4455”。我会收到一长串的刺,假设4455代表我要提取的消息的开始/结束。我不是实现此目标的最佳方法,因此,如果有人遇到类似问题,请暂停:)

2 个答案:

答案 0 :(得分:5)

您可以使用StringTokenizer拆分它们,并根据需要设置delim(在您的示例中为4455),即:

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

答案 1 :(得分:4)

如果不需要实际的“ 4455”部分,则可以拆分字符串。

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

为您提供一个字符串数组。您还可以在此处传递正则表达式。

如果确实需要该前缀/后缀,则只需将其添加回去。