使用以下xpath获取字符串值
String noAndDate = driver.findElement(By.xpath("//*[@id='c38']/div/table/tbody/tr[1]/td/strong")).getText();
输出上述字符串= 2928554 - 2009-09-18 (BOPI 2009-38)
我的预期输出
2928554
2009-09-18
我试过下面的分裂,但我没有得到我预期的输出
String[] words = noAndDate.split("-");
请建议/帮助我
答案 0 :(得分:5)
您可以尝试拆分正则表达式替换,查找由空格或纯空格包围的连字符:
String input = "2928554 - 2009-09-18 (BOPI 2009-38)";
String[] parts = input.split("(\\s+-\\s+|\\s+)");
System.out.println(parts[0]);
System.out.println(parts[1]);
答案 1 :(得分:0)
尝试以下代码 -
String str =“2928554 - 2009-09-18(BOPI 2009-38)”;
String str1 = str.split(“ - |”)[0];
String str2 = str.split(“ - |”)[1];
这将返回str1为2928554,str2为2009-09-18。
希望这会对你有帮助!
答案 2 :(得分:-1)
只需用正则表达式进行拆分即可。
String given = "2928554 - 2009-09-18 (BOPI 2009-38)";
String [] splitted = given.split(" - |\\s+");
String result = splitted[0] +", "+splitted[1];
System.out.println(result);
打印
2928554, 2009-09-18
答案 3 :(得分:-2)
试试这个:
String [] words = noAndDate.split("");
然后
的System.out.println(字[0]);
的System.out.println(字[2]);
答案 4 :(得分:-2)
使用正则表达式捕获组,您可以在这里看到您想要的两组:
(\d+)\s*-\s*(\d+\-\d+\-\d+)
()= group