字符串格式化并存储值

时间:2018-09-17 13:43:19

标签: string formatting string-formatting

我有一个类似于下面的字符串 “ OPR_NAME:CODE =值,:DESC =值,:NUMBER =值,:INITIATOR =值,:RESP”

我正在使用StringTokenizer将字符串基于delimiter(,:)拆分为令牌,我需要的值为 CODE,DESC和NUMBER。 有人可以告诉我如何实现吗?这些值可能以随机顺序出现在我的字符串中 例如,我的字符串也可能如下所示: “ OPR_NAME:DESC =值,:NUMBER =值,:CODE =值,:INITIATOR =值,:RESP” ,它仍然应该能够获取值。

我在下面做了将字符串拆分为令牌的操作

StringTokenizer st = new StringTokenizer(str,",:");
        while (st.hasMoreTokens()) {            
             System.out.println(st.nextToken());             
         } 

但是不确定如何存储这些令牌以获取如上所述的3个字段的值。

谢谢!!

1 个答案:

答案 0 :(得分:0)

好的,我的意思是,检测“ =”在哪里,然后应用子字符串以获得所需的值。

粗略的例子

System.out.println(st.nextToken().substring(st.nextToken().indexOf('=')+1,st.nextToken().length()));

改为使用split:

String[] parts = X.split(",:");
for (String x:parts) {
    System.out.println(x.substring(x.indexOf('=')+1));
}