Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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中字符串和Int的解析_Java_Arrays_String_Parsing_Int - Fatal编程技术网

java中字符串和Int的解析

java中字符串和Int的解析,java,arrays,string,parsing,int,Java,Arrays,String,Parsing,Int,我正在使用java,我想解析一个字符串,其中包含以下内容 Logging v0.12.4 并将其拆分为包含 Logging 0.12.4 和一个包含 Logging 0.12.4 在哪里 及 等等。我已经在这上面呆了一段时间了。您可以使用正则表达式或普通的字符串拆分 String myString = "Logging v0.12.4"; String[] parts = myString.split(" v"); // now parts[0] will be "Logging" a

我正在使用java,我想解析一个字符串,其中包含以下内容

Logging v0.12.4
并将其拆分为包含

Logging
0.12.4
和一个包含

Logging
0.12.4
在哪里


等等。我已经在这上面呆了一段时间了。

您可以使用正则表达式或普通的字符串拆分

String myString = "Logging v0.12.4";
String[] parts = myString.split(" v");
// now parts[0] will be "Logging" and
// parts[1] will be "0.12.4";
然后对版本零件执行相同的操作:

String[] versionParts = parts[1].split("\\.");
// versionParts[0] will be "0"
// versionParts[1] will be "12"
// versionParts[2] will be "4"
您可以使用

在空间上拆分字符串以获取日志记录和v0.12.4 从v0.12.4中移除子串v 点对点拆分0.12.4使用拆分\\。因为点在正则表达式中是特殊的 您还可以将每个0 12 4解析为整数。parseInt可能会有所帮助。
给你,伙计,因为我今天感觉很慷慨:

String string = "Logging v0.12.4";
Matcher matcher = Pattern.compile("(.+?)\\s+v(.*)").matcher(string);

if (matcher.matches()) {
    String name = matcher.group(1);
    int[] versions = Arrays.stream(matcher.group(2).split("\\.")).mapToInt(Integer::parseInt).toArray();
}

我在你的问题中没有看到任何Java代码。你试过什么?请给我们看看你迄今为止写的代码。问题是什么?总是有2个吗?@Tichodroma你可能是对的。我并没有太注意OP使用2D数组这一事实,这在这里有点混乱。OP希望版本部分也被标记化。。。并解析为整数:考虑到没有提供代码的事实,我发现也可以提供一个伪解决方案!如果操作员没有通过\\s:\共享其代码+1拆分,则最好的回答方法。这将删除子字符串step@TheLostMind不错,但现在对OP来说可能太多了。我更愿意关注一般方法,而不是优化。无论如何\\sv可能会更清楚:谢谢你的帮助,我知道我是一个有点棘手的问题,但我所做的不是为我工作,而是现在工作,再次感谢: