我想获取字符串的特定部分,例如:
@org.junit.runners.Suite$SuiteClasses(value=[class data.XTest
, class data.YTest])
data.XTest
和data.YTest
是可变的。
在 class
之后获取类的最佳方法是什么。
要求的输出:
sTring[0] = data.XTest;
sTring[1] = data.YTest;
最佳答案
这个单行怎么样:
String[] parts = input.replaceAll(".*\\[class (.*)\\].*", "$1").split(", class ");
这首先使用正则表达式提取 "...[class "
和 "]"
之间的子字符串,然后拆分分隔字符以整齐地提取出来目标字符串。
这是一个测试:
public static void main(String[] args) {
String input = "@org.junit.runners.Suite$SuiteClasses(value=[class data.XTest, class data.YTest])";
String[] parts = input.replaceAll(".*\\[class (.*)\\].*", "$1").split(", class ");
System.out.println(Arrays.toString(parts));
}
输出:
[data.XTest, data.YTest]
关于java - 在 Java 中获取字符串的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9771118/