我无法从字符串中捕获值。
我有一个输入,但它没有任何格式,只是我们知道它与;
特殊字符分开。
test?test; 1231@test;name=vonnegut
我想用给定的特殊字符拆分此输入,然后找到包含另一个特殊字符的结果,如=
。
结果如下:name=vonnegut
答案 0 :(得分:1)
看看字符串的split()方法,它应该完全符合你的要求。
拆分“;”首先,然后在结果字符串上的“=”。
答案 1 :(得分:1)
你可以试试这个
[^;]+=[^;]+
[^;]+
是一个否定的字符类,它将匹配一系列不是分号的字符(+
表示至少一个)(它也会匹配换行符,所以如果你的字符串要小心包含那些,然后你需要将它们添加到类[^;\r\n]
)
答案 2 :(得分:0)
String input = "test?test; 1231@test;name=vonnegut";
String[] splittedInput = input.split(",");
for (String str:splittedInput) {
System.out.println(str);
}
给你
测试?测试
1231 @测试
名称=冯内果
现在,您可以测试下一个字符的每个字符串,例如:
for (String str:splittedInput) {
if (str.contains("=") {
System.out.println(str);
}
}
您也可以直接进行正则表达式搜索。我必须看一下(不要经常使用正则表达式),但你会很容易理解。可能已经有一个包含正确的正则表达式的答案......;)