我有一个字符串"1.3.6.1.2.1.25.1.0.0 = 47"
。如何检索方程的RHS部分,"47"
?我不能使用substr(StartIndex, EndIndex)
,因为我的LHS的大小会改变。提前谢谢。
答案 0 :(得分:5)
只需使用String.indexOf()来首先获取该位置" ="在你的字符串中。
换句话说:大多数情况下,字符串没有固定(基于列)布局;从这个意义上讲:检查字符串中的实际内容是世界上最自然的事情。您可以使用indexOf(),lastIndexOf()等低级方法,或者更进一步使用regular expressions来完成更复杂的工作。
或者,您也可以使用String.split()等方法将输入字符串转换为子字符串数组;基于给定的"拆分"图案。
答案 1 :(得分:3)
无需使用子字符串 RHS也将在“=”之后,因此您可以将字符串从“=”
中分离出来String string = "1.3.6.1.2.1.25.1.0.0 = 47";
String[] parts = string.split("=");
String LHS= parts[0]; // 1.3.6.1.2.1.25.1.0.0
String RHS= parts[1]; // 47
这样你就可以得到LHS和RHS
最好检查原始字符串是否为null否则会给出nullPointerException
答案 2 :(得分:1)
如果字符串只包含一个等号,则可以将其拆分为两个字符串的数组,然后获取第二个字符串:
String s = "1.3.6.1.2.1.25.1.0.0 = 47";
String rhs = s.split("= ")[1];
答案 3 :(得分:1)
将字符串基础拆分为" ="
str.split("=")[1].trim() will return your RHS part.
答案 4 :(得分:1)
您可以split
将=
作为分隔符使用 echo '<select name="options">';
for($i=1; $i<=100; $i++)
{
echo "<option value="">".$i."</option>";
}
echo '</select>';
echo "<input type=submit value='Add to Basket'>";
。你将拥有你的LHS和RHS。
答案 5 :(得分:0)
假设你只有一个&#34; =&#34;在字符串中,你可以这样做:
int start = searchString.indexOf("=") + 1;
String lhs = searchString.substring(start).trim();
加上一些错误处理......
答案 6 :(得分:0)
您也可以使用正则表达式:
final String test = "1.3.6.1.2.1.25.1.0.0 = 47";
final String regex = ".*= (.*)";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(test);
while(matcher.find()) {
System.out.println(matcher.group(1));
}
结果:
47