我有一个字符串,其中模式多次出现。我想用包括模式(multiple)在内的模式“ multiplex”将字符串分成4部分。我想要4个字符串
String1 =名称为true
String2 =多路复用到1000
String3 = 200的多路复用
String4 =多路复用为真
字符串aaa =“名称:1/1,网络:是,...(更多数据)... MPEG:是 Multiplex:,0004,传输流ID:0,带宽:5000000,...(更多数据)...预留带宽:1000 Multiplex: 0002, 传输流ID:0,带宽:5000000,...(更多数据)。.保留带宽: 200 Multiplex: 0008,传输流ID:0, 带宽:5000000,保留带宽:100000,...(更多数据)...真
Pattern pattern = Pattern.compile("Multiplex:");
Matcher m = pattern.matcher(aaa);
while (m.find())
我如何将字符串分为4个部分,包括“ Multiplex”?
答案 0 :(得分:1)
您可以使用正向查找的正则表达式模式,
public class MyClass {
public static void main(String args[]) {
String s = "Name:1/1, Network: true, ...(more data)... MPEG: true Multiplex: 0004, Transport Stream ID: 0, Bandwidth: 5000000,...(more data)... Reserved Bandwidth: 1000 Multiplex: 0002, Transport Stream ID: 0, Bandwidth: 5000000,...(more data).. Reserved Bandwidth: 200 Multiplex: 0008, Transport Stream ID: 0, Bandwidth: 5000000, Reserved Bandwidth: 100000,...(more data)...true";
String[] arr = s.split("(?=Multiplex:)");
for(String str : arr){
System.out.println(str);
}
}
}
此正则表达式(?=Multiplex:)
匹配一个空字符串,后跟Multiplex: