【问题标题】:Java strings compare getText()Java 字符串比较 getText()
【发布时间】:2020-07-15 07:30:21
【问题描述】:

我有两个字符串,一个是: 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”替换它没有区别。 有什么想法可能是什么问题? 谢谢你

【问题讨论】:

  • 实际字符串是否确实包含\r\n 行尾?检查详细信息:使用调试器查看第一个字符串包含的确切内容,并查看与您要比较的内容有什么不同。

标签: java string selenium compare equals


【解决方案1】:

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

  • \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 ])

+ 量词——匹配一次到无限次

【讨论】:

    猜你喜欢
    • 2014-11-11
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多