我有一个输入json:
{ “ID”:12345 “MGRS”: “04QFJ1234567890”, “代码”: “12345”, “用户”: “db3e1a-3c88-4141-bed3-206a”}
我想用正常表达式提取1000公里的MGRS,在我的例子中结果应该是:04QFJ1267
前2个符号总是数字,接下来3个总是字符,其余的总是数字。 MGRS的固定长度为15个字符。
有可能吗?
感谢。
答案 0 :(得分:1)
您真正需要做的就是删除字符8-10和13-15。如果你想/需要使用正则表达式,那么你可以使用regex替换方法:( 编辑编辑删除字符串的其余部分)。
.*?(\w{7})\d{3}(\d{2})\d+.*
和替换字符串:
$1$2
我现在看到你正在使用Java。因此相关的代码行可能如下所示:
resultString = subjectString.replaceAll(".*?(\\w{7})\\d{3}(\\d{2})\\d+.*", "$1$2");
以上假设您的所有字符串看起来都像您所显示的那样,并且无需进行测试以确保字符串中存在“mgrs”。