如何在不在Android中创建自定义字符串的情况下以用户友好的方式过滤错误消息?

时间:2015-11-12 15:38:18

标签: java android regex exception android-alertdialog

我最近创建了一个AlertDialog来通知用户并且发生了错误。在catch块中,我按如下方式设置了异常消息:

try {
// Do stuff
} catch (Exception e) {
        mAlertDialog.setMessage(e.getMessage());
}

这完全正常,我在AlertDialog中看到的消息如下:

Read error: ssl=0xb832f3f0: I/O error during system call, Connection timed out

有没有办法删除文本,以便错误内容如下:

I/O error during system call, Connection timed out

我知道你可以使用

e.getMessage().substring()
e.getMessage().startsWith()

什么不是,但我真的希望在用户友好的合成中报告可能发生的任何类型的错误。也许使用正则表达式?我没有多少经验。我真的很感激正朝着正确的方向前进。我们非常感谢所有提示,提示,煽动和帮助。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用replaceFirst

mAlertDialog.setMessage(e.getMessage().replaceFirst(".*:\\s*", ""));

这将匹配并用空字符串替换最后一个冒号的所有字符。

DEMO