从 String 中删除空格时遇到问题
trouble deleting spaces from String
我正在本机 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
之外的所有内容,这样我就可以 运行 parseInt on likesVal
我试过了
likesVal= likesVal.replaceAll("[*a-zA-Z_.-]", "");
likesVal= likesVal.replaceAll(" ", "");
StringUtils.deleteWhitespace(likesVal);
int likes = Integer.parseInt(likesVal);
System.out.println(likes);
但我在 int likes = Integer.parseInt(likesVal);
上收到 java.lang.NumberFormatException For input string: "107 "
在删除 likesVal
除了数字以外的所有内容之后,为什么 likesVal
中 "others" 之前的 space 没有被删除?
在去除 likesVal
除数字以外的所有内容后,我需要打印“107”而不是“107”
我建议使用一种模式来替换所有非数字 (\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
根据要求。
我正在本机 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
之外的所有内容,这样我就可以 运行 parseInt on likesVal
我试过了
likesVal= likesVal.replaceAll("[*a-zA-Z_.-]", "");
likesVal= likesVal.replaceAll(" ", "");
StringUtils.deleteWhitespace(likesVal);
int likes = Integer.parseInt(likesVal);
System.out.println(likes);
但我在 int likes = Integer.parseInt(likesVal);
java.lang.NumberFormatException For input string: "107 "
在删除 likesVal
除了数字以外的所有内容之后,为什么 likesVal
中 "others" 之前的 space 没有被删除?
在去除 likesVal
除数字以外的所有内容后,我需要打印“107”而不是“107”
我建议使用一种模式来替换所有非数字 (\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
根据要求。