在java中解析String和Int

时间:2015-04-17 09:31:55

标签: java arrays string parsing int

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

Logging v0.12.4

并希望将其拆分为包含

的字符串
Logging

和包含

的整数数组
0.12.4

,其中

array[i][0] = 0

array[i][1] = 12

等等。我现在已经坚持了一段时间。

3 个答案:

答案 0 :(得分:3)

  • 将您的字符串拆分为空格以获取Loggingv0.12.4
  • v
  • 中删除(子串)v0.12.4
  • 在点上分割0.12.4(使用split("\\."),因为点在正则表达式中是特殊的)
  • 您还可以将每个"0" "12" "4"解析为整数(Integer.parseInt可能会有所帮助)。

答案 1 :(得分:0)

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

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"

你可以"转换"使用Integer.parseInt(...)

将这些转换为整数

答案 2 :(得分:0)

在这里,伙计,因为我今天感到慷慨:

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();
}