gpt4 book ai didi

java - 无法在Java中找到字符串中的模式数量

转载 作者:行者123 更新时间:2023-12-02 01:59:35 24 4
gpt4 key购买 nike

我有一个字符串,其中给出了特定媒体的大小。我想搜索尺寸并打印它。

sampleString = "样本文本有 4.5GB 样本"

注意:字符串可以有多种模式,例如 [4.0GB, 4.0MB, 4GB, 70MB]

“GB”或“MB”可以是整数或 float 。

我的想法是在字符串中搜索上述模式,然后将其与找到的 MB 或 GB 分开,然后获取与之对应的整数或 float 。

我已经开始寻找模式,但代码无法工作。下面是我的代码:

public class CheckSize {
public static void main(String args[]) {
System.out.println(size("Sample text having sample 4.5GB"));
}

private static String size(String mString) {
Float size = 0f;
String mbSize = "";
String gbSize = "";
boolean found = mString.matches("\\d");

if (found) {
return "size available";
}
else {
return "size is not available";
}
}
}

请帮忙。

最佳答案

这个问题最好的解决方法可能是使用正式的正则表达式匹配器。下面是一个框架代码,向您展示了如何实现它:

String line = "My first thumb drive stored 1.5GB, but second stored 1TB.";
String pattern = "\\b(\\d+(?:\\.\\d+)?)(?:MB|GB|TB)\\b";

Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(line);

while (m.find()) {
System.out.println("Found value: " + m.group(1) );
}

Found value: 1.5
Found value: 1

Demo

这里的基本思想是,我们可以多次迭代您的文本,在每次匹配时暂停,以打印出存储大小字符串之前的数字。

关于java - 无法在Java中找到字符串中的模式数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51824787/

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