Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:删除点后的所有字符_Java - Fatal编程技术网

Java:删除点后的所有字符

Java:删除点后的所有字符,java,Java,我有一个简短的问题, 我得到了以下代码 String chapterNumber = "14.2.1"; 如何从我的“chapterNumber”中获得如下字符串 编辑: 我想要一个int/String中的所有数字(对我来说无关紧要)直到第一个点如果它只是您想要的输入字符串的第一部分,您应该这样做 String mainChapterNumber = chapterNumber.split("\\.", 2)[0]; split(2)的第二个参数表示我们只应在第一次出现时进行拆分;它比在的所

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

String chapterNumber = "14.2.1";
如何从我的“chapterNumber”中获得如下字符串

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

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

String mainChapterNumber = chapterNumber.split("\\.", 2)[0];
split
2
)的第二个参数表示我们只应在第一次出现
时进行拆分;它比在
的所有实例上拆分要快,如果不提供第二个参数,就会发生这种情况


相关文档


    • 由于我们没有任何证据证明您确实在尝试某些东西,因此我将提出建议,而不是给出代码

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

      尝试如下操作

      String chapterNumber = "1.2.1";
      int index = chapterNumber.indexOf(".");
      String mainChapterNumber = chapterNumber.substring(0,index);
      
      String chapterNumber = "1.2.1";
      String[] getdt = chapterNumber.split("\\.");
      String mainChapterNumber = getdt[0];
      

      只需使用以下命令:

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

      这将返回当前章节号的子字符串,从索引号0中的第一个字符开始,在第一次出现“.”之前结束有多种方法。 我推荐的最简单的方法是使用子字符串和indexOf: 像这样:

      String result = chapterNumber.substring(0, chapterNumber.indexOf("."));
      
      另一种方法是:

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

      为了记录在案,另一个解决方案使用:


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

      你尝试过什么吗?
      indexOf()
      substring()
      是你的朋友。我尝试过在论坛上找到的东西,比如:
      chapterNumber..replaceAll(//.$,”)但那没有work@JamesCarter. 这里真的不需要正则表达式。从一开始的“1”实际上我需要将所有内容拆分为一个新字符串,直到第一个点谢谢,这正是我需要的。只是好奇在这种情况下,当使用拆分方法而不是子字符串时,内存分配会如何。当我们分析大字符串时,哪一个是最好的?有人愿意评论下一票吗?是因为我避免用勺子喂一个没有任何努力迹象的OP吗?我想是这样的,因为后来给出明确完整代码的答案是向上投票的。事实上,这也是一个有效的解决方案,它对我有效,谢谢。
      
      String result = chapterNumber.substring(0, chapterNumber.indexOf("."));
      
      String result = chapterNumber.split("\\.")[0];
      
      String mainChapterNumber = Iterables.get(Splitter.on('.').split(chapterNumber), 0);