首页 > 解决方案 > Java 字符串比较 getText()

问题描述

我有两个字符串,一个是: String currentDoc= driver.findElement(By.cssSelector(".active .ng-scope:nth-child(2)")).getText();

结果是:

First Name Last Name Remove Worker details
Goran Dxxxxxc
David Vxxxxć
Matija Mxxxxc
Andrej Txxxxk

第二个字符串是:

String docList = "First Name Last Name Remove Worker details\r\n" + 
                "Goran Dxxxxxc\r\n" + 
                "David Vxxxxć\r\n" + 
                "Matija Mxxxxc\r\n" + 
                "Andrej Txxxxk";

当我这样做时: System.out.println(trenutniPopis.equals(currentDoc)); 我总是出错 首先我认为“ć”是问题,但在两种情况下都用“c”替换它没有任何区别。有什么想法可能是什么问题?谢谢你

标签: javastringseleniumcompareequals

解决方案


新行可以用多个字符表示:

  • \r\n
  • \n
  • \r.

我建议使用正则表达式。

String regex = "First Name Last Name Remove Worker details\\s+" + 
                "Goran Dxxxxxc\\s+" + 
                "David Vxxxxć\\s+" + 
                "Matija Mxxxxc\\s+" + 
                "Andrej Txxxxk";

System.out.println(currentDoc.matches(regex));

\s- 匹配任何空白字符(等于 [\r\n\t\f\v ])

+量词 - 一次和无限次之间的匹配


推荐阅读