【问题标题】:how to get substring between two delimeters in java如何在java中的两个分隔符之间获取子字符串
【发布时间】:2016-05-25 11:03:57
【问题描述】:

我想从起始行第三个逗号(分隔符)和结束行第二个逗号(分隔符)获取子字符串。

例如:- 输入:

"8884052344,89,\N,11805143\,3\,6112555\,6538937\,5839176\,5420860\,6590106\,2646753,0,2015-09-29 10:52:29"

输出:

11805143\,3\,6112555\,6538937\,5839176\,5420860\,6590106\,2646753

注意:从起始行第三个逗号和从结束行第二个逗号子字符串可能会增加大小。请帮助我。

谢谢.....

【问题讨论】:

  • 那么到目前为止,您尝试了什么?您希望我们为您编写代码吗?尝试一些代码,然后如果你有问题,回来在这里问它。
  • 我尝试使用 indexOf() 和 substring() 方法。
  • 您应该提供minimal reproducible example

标签: java string split substring delimiter


【解决方案1】:

你可以用“,”来剪切字符串,然后创建一个新字符串,阅读这个How do I use a delimiter in Java Scanner?

【讨论】:

    【解决方案2】:

    字符串总是有超过 5 个逗号吗?我假设它会,我们可以通过两种方式解决它。

    第一种方法

    我使用 indexOf 来确定“,”的第三次出现的索引,并使用 lastIndexOf 来确定“,”的倒数第二次出现。

    String ex= "8884052344,89,jhgN,11805143,3,6112555,6538937,5839176,5420860,6590106,2646753,0,2015-09-29 10:52:29";
    int beginningIndex= ex.indexOf(',',(ex.indexOf(',',ex.indexOf(',')))+1)+1;
    int lastIndex= ex.lastIndexOf(',',ex.lastIndexOf(',')-1);
    String desiredResult=ex.substring(beginningIndex,lastIndex);
    

    其他方法

    你可以只拆分字符串,你会得到一个数组。创建一个 StringBuffer 并将字符串从索引 3 附加到倒数第二个索引(数组长度 - 3)。

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 2012-04-27
      • 1970-01-01
      • 2021-04-04
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      相关资源
      最近更新 更多