gpt4 book ai didi

java - java中如何从字符串中提取字符

转载 作者:行者123 更新时间:2023-12-01 20:26:25 27 4
gpt4 key购买 nike

我有下面的线 -

lax.nl.java.option.additional=-Xms1000m -Xmx2048m -Xss2m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxPermSize=128m -Dsun.java2d.noddraw=true -Djava.library.path=native -Djava.security.auth.login.config==login_configuration.config

我想提取 Xmx 值,即本例中的 2048(有时也可以是 512)。不知道我应该如何使用 java 子字符串或任何其他方式来做到这一点,请帮忙! 。谢谢

最佳答案

@Spiderman 给出的评论可能是一个快速的一行解决方案。但一般来说,在 Java 中解决此类正则表达式问题的方法是使用带有 MatcherPattern。此处可以使用以下正则表达式:

.*\s-Xmx(\d+)(\w+)\s.*

完整代码:

String line = "lax.nl.java.option.additional=-Xms1000m -Xmx2048m -Xss2m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxPermSize=128m -Dsun.java2d.noddraw=true -Djava.library.path=native -Djava.security.auth.login.config==login_configuration.config";

String pattern = ".*\\s-Xmx(\\d+)(\\w+)\\s.*";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(1));
System.out.println("Found unit: " + m.group(2));
}

输出:

Found value: 2048
Found unit: m

此处演示:

Rextester

关于java - java中如何从字符串中提取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43839919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com