我想在java中的单词旁边找到一个单词

时间:2014-08-23 04:26:56

标签: java string substring

我有一些文字

"Summary : Daily Monthly Yearly"
"Amount : $1,401,508,225.38  $34,132,889,672.53  $334,088,690,177.34"

我的问题是,我如何将这笔款项存入各自的字符串,即每日,每月,每年?

2 个答案:

答案 0 :(得分:0)

根据你的评论,你说你有一系列字符串包含三个金额,根据你的问题,你想存储在各自的字符串中。您可以使用 for循环并存储在 HashMap 中。

首先按照以下方式在阵列中获取时间:

String textWithTime = "Daily Monthly Yearly";

String[] timearray = textWithTime.split(" ");//note the space inside double quotation

如果您在字符串中有金额,那么也要执行以下操作

String[] amountarray = textWithAmount.split(" ");//note the space inside double quotation

执行以下操作:

//Make an object of HashMap here
HashMap<String, String> hashMap = new HashMap<String, String>();

for(int i=0;i<stringarray.length();i++){
  hashMap.put(timearray[i], amountarray[i]); 
}

要重新获得关键字和值,您可以执行以下操作:

for (Map.Entry<String, Object> entry : hashMap.entrySet()) {
    String key = entry.getKey();
    Object value = entry.getValue();
    //Use these key and values
}

答案 1 :(得分:-1)

如果您的问题是关于如何拆分字符串,请参阅String类的split()方法。 如果更多的是如何构建结果数据,您可能需要执行以下操作:

创建枚举和类:

public enum Period {
   DAILY,
   MONTHLY,
   YEARLY;
}

public class Income {
 private Period p;
 private double money;

 public Income (Period p, double money) {
    this.p = p;
    this.money = money;
  }
  ....

  // getters, etc
}

然后你可以像这样使用它:

Income daily = new Income (Period.DAILY, 1401508225.38);