我有一个这样的字符串:下面两个例子。
?dtg=6&reqp=1&reqr=
?dtg=654&reqp=1&reqr=
?dtg=785
我想在dtg
之后获取该号码。
所以在案例1中我想要6
而在案例2中我想要654
而在案例3中我想要785
答案 0 :(得分:1)
使用regular expressions(正则表达式):
Pattern pattern = Pattern.compile("[&?]dtg=([0-9]+)");
Matcher matcher = pattern.matcher(inputString);
if(matcher.find()) {
int dtg = Integer.parseInt( matcher.group(1) );
}
答案 1 :(得分:0)
您可以使用String#repaceFirst
String repl = string.replaceFirst("\\?dtg=(\\d+).*", "$1");
答案 2 :(得分:0)
答案 3 :(得分:0)
虽然在大多数情况下使用正则表达式会有所帮助,但对我来说,你有URL
中的查询字符串示例 - 如果是这种情况,我会将该查询字符串转换为Map<String, List<String>>
然后获取dtg
密钥的值(将处理此类情况:
?DTG = 6&安培; reqp = 1&安培; DTG = 121212&安培; reqr =
)