![](/img/trans.png)
[英]Java: Getting a substring from a string starting after a particular character
[英]getting character from string that is after specific chars (java)
我在从字符串中获取字符时遇到问题。 6xˆ3 + 5 + 10xˆ2 ,我把它作为字符串,想得到x^之后的数字。 如何在不使用 if 和 for 的情况下执行此操作? 有什么方法和正则表达式可以帮助我吗?
那么 xˆ 后面有两个数字,3 和 2
这将使用正向后视匹配这两个数字(如果您确实打算使用此字符: ^ )
(?<=xˆ)-?\\d+
如果您打算使用此字符 ^,则可以使用相同的表达式但转义插入符号。
(?<=x\\^)-?\\d+
请按以下步骤操作:
import java.util.Arrays;
import java.util.regex.MatchResult;
import java.util.regex.Pattern;
public class Main {
public static void main(String args[]) {
String exp = "6x^3 + 5 + 10x^2";
String[] nums = Pattern.compile("(?<=x\\^)[0-9]+").matcher(exp).results().map(MatchResult::group)
.toArray(String[]::new);
System.out.println(Arrays.toString(nums));
}
}
输出:
[3, 2]
注意: Matcher::results仅从 Java 9 开始可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.