gpt4 book ai didi

java - 在 java 中使用正则表达式从长字符串中提取特定值或子字符串

转载 作者:行者123 更新时间:2023-11-30 06:22:09 25 4
gpt4 key购买 nike

我有一个很长的字符串,其中包含我要提取的不同值/字符串。

String info = "ABHom=1.00;AC=2;AF=1.00;AN=2;DP=24;Dels=0.00;FS=0.000;
HaplotypeScore=0.9947;MLEAC=2;MLEAF=1.00;MQ=53.03;MQ0=0;QD=32.49;
VQSLOD=2.70; culprit=FS";



Matcher matcher = Pattern.compile("[A][B][h][o][m][=]([0-9]+\\.[0-9]+)").matcher(info);
if (matcher.find()) {
String someNumberStr = matcher.group(1);
ABhom = Double.parseDouble(someNumberStr);

Matcher matcher = Pattern.compile("[M][L][E][A][C][=]/([0-9]+)").matcher(info);
if (matcher.find()) {
String someNumberStr = matcher.group(1);
MLEAC = Integer.parseInt(someNumberStr);

我是正则表达式的新手。有没有更聪明的方法来提取等号后的数字/字符串?

非常感谢您的任何建议!

最佳答案

我想你想做的是把你的String进入HashMap<String,String> .

首先,您需要用分号分隔字符串。然后,迭代您获得的数组,围绕等号拆分每个条目,并将结果添加到 HashMap .

我建议您阅读 split String 的方法有关如何执行此操作的类(class),并阅读有关 HashMap 的信息类(class)。看http://docs.oracle.com/javase/7/docs/api/java/lang/String.htmlhttp://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html如果您需要更多帮助,请再次发帖。

关于java - 在 java 中使用正则表达式从长字符串中提取特定值或子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19701178/

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