Java:在点之后删除所有字符

时间:2013-02-19 14:22:09

标签: java

我有一个简单的问题, 我得到了以下代码

String chapterNumber = "14.2.1";

如何从我的“chapterNumber”

中获得类似以下字符串的字符串
String mainChapterNumber = "14";

编辑: 我想要int / String中的所有数字(对我来说无关紧要)直到第一点

8 个答案:

答案 0 :(得分:26)

如果它只是你想要的输入字符串的第一部分,你应该

String mainChapterNumber = chapterNumber.split("\\.", 2)[0];

split2)的第二个参数表示我们应该只分割.第一个次出现;它比在.的所有实例上拆分更快,如果我们不提供第二个参数会发生这种情况。


相关文档

答案 1 :(得分:9)

只需使用以下内容:

String mainChapterNum = chapterNumber.substring(0, chapterNumber.indexOf("."));

这将返回当前章节编号的子字符串,该字符串从第一个字符开始,该字符位于索引编号0中并在第一个外观“。”之前结束。

答案 2 :(得分:5)

String chapterNumber = "1.2.1";
int index = chapterNumber.indexOf(".");
String mainChapterNumber = chapterNumber.substring(0,index);

答案 3 :(得分:1)

由于我们没有任何证据证明您确实在尝试某些事情,我会提出建议,而不是给您代码。

尝试使用字符串的索引。找到第一个点的索引,然后使用substring方法将子串保持在原点和出现之间。

答案 4 :(得分:1)

有多种方法可以做到这一点。 我建议最简单的方法是使用子字符串和indexOf: 像这样:

String result = chapterNumber.substring(0, chapterNumber.indexOf("."));

另一种方法是:

String result = chapterNumber.split("\\.")[0];

答案 5 :(得分:0)

尝试如下...

String chapterNumber = "1.2.1";
String[] getdt = chapterNumber.split("\\.");
String mainChapterNumber = getdt[0];

答案 6 :(得分:0)

String mainChapterNumber = chapterNumber.substring(0,chapterNumber.indexOf("."));

答案 7 :(得分:0)

仅供记录,使用Guava's splitter的其他解决方案:

String mainChapterNumber = Iterables.get(Splitter.on('.').split(chapterNumber), 0);

这样做的好处是不使用正则表达式机制(不是轻量级的,不要在循环中使用接受的解决方案)。