从字符串删除空格时遇到麻烦

时间:2020-04-28 02:29:27

标签: java string replace appium removing-whitespace

我正在使用本机android应用上的appium自动化

我有一个想从中获取文本的MobileElement

MobileElement likesElement = (MobileElement) driver.findElement(By.id("com.instagram.android:id/row_feed_textview_likes"));

然后我有了字符串

String likesVal = likesElement.getText();

当我运行System.out.println(likesVal);时,它会打印:

Liked by you and 107 others

我需要删除除107之外的所有内容,以便可以在likesVal上运行parseInt

我尝试过

likesVal= likesVal.replaceAll("[*a-zA-Z_.-]", "");
likesVal= likesVal.replaceAll(" ", "");
StringUtils.deleteWhitespace(likesVal);
int likes = Integer.parseInt(likesVal);
System.out.println(likes);

但是我在java.lang.NumberFormatException For input string: "107 "上获得了int likes = Integer.parseInt(likesVal);

在除去likesVal以外的所有内容之后,为什么不删除likesVal中“其他”之前的空格?

在除去likesVal以外的所有内容之后,我需要打印“ 107”而不是“ 107”

1 个答案:

答案 0 :(得分:1)

我建议使用模式替换所有非数字(\\D)。喜欢,

String tmp = "Liked by you and 107 others";
// String likesVal = likesElement.getText().replaceAll("\\D+", "");
String likesVal = tmp.replaceAll("\\D+", "");
int likes = Integer.parseInt(likesVal);
System.out.println(likes);

输出

107

根据要求。

相关问题