【问题标题】:I have to put a number into an integer, after a specific word我必须将一个数字放入一个整数中,在一个特定的单词之后
【发布时间】:2019-10-02 16:50:21
【问题描述】:

我的代码读取整个 .txt 文档,并将内容放入一个字符串中。在我的文本文档中,有两个词(Pos v="1" 和 Qty v="224")。我必须以不同的整数获得这些数字。比如 int Pos 和 int Qty。

我尝试拆分包含文本文档内容的字符串,并尝试获取元素的索引,然后将它们放入整数中。

try {
    String content = new String ( Files.readAllBytes( Paths.get(filePath) ) );
    //System.out.println(content);
    String[] datas = content.split("Pos v=\"");
    System.out.println(datas[300]);
} catch (IOException e) {
    //e.printStackTrace();
    System.out.println("Valami hiba van a megadott elérési úttal");
}

没有任何错误,只是很难做到这一点。

【问题讨论】:

  • 你的问题是什么?
  • 发布文件的实际内容和预期的输出。
  • 我有两个不同的字符串。第一个是 ,第二个是 。我想从中取出数字,并将数字放入两个不同的双打中。第一个 double 的名称是 pos,第二个 double 的名称是 qty。
  • 如果您的代码没有错误,您可以使用Integer.parseInt() 从字符串中创建一个 int。

标签: java arrays string integer


【解决方案1】:

我建议跟踪每个单词,一旦你得到你的单词PosQty;从下一个单词中提取数字,即v="1"(1 可以替换为任何值)

 int pos;
 int qty;

 // wordArray is an array formed by splitting string with space delimeter
 for(int i = 0; i < wordArray.length - 1; i++){
   // matching whether current word is "Pos" or  "Qty"
   if(wordArray[i].equals("Pos")) {
     // wordArray[i+1] = "v="1""; we are extracting only digit from that word
     pos = Integer.parseInt(wordArray[i+1].replaceAll("[\\D]", ""))
   } else if(wordArray[i].equals("Qty")) {
     qty = Integer.parseInt(wordArray[i+1].replaceAll("[\\D]", ""))
   }       
 }

【讨论】:

  • 谢谢,它正在工作,但我如何编辑它,以便也能够存储双精度数,而不仅仅是整数?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 2017-07-26
  • 2017-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多