首页 > 解决方案 > 用已知的开头和结尾替换部分字符串

问题描述

我从服务器获得了一些已知和未知部分的字符串。例如:

<simp>example1</simp><op>example2</op><val>example2</val>

我不希望解析 XML 或任何使用解析。我想做的是更换

<op>example2</op>

带有空字符串 ("") 的字符串将如下所示:

<simp>example1</simp><val>example2</val>

我知道它以 op(在 <> 中)开始并以 /op(在 <> 中)结束,但内容(example2)可能会有所不同。

你能给我指点如何做到这一点吗?

标签: javaandroid

解决方案


您可以使用正则表达式。就像是

<op>[A-Za-z0-9]*<\/op>

应该匹配。但是您可以对其进行调整,使其更好地满足您的要求。例如,如果您知道只能显示某些字符,则可以更改它。之后,您可以使用 String#replaceAll 方法删除所有与空字符串匹配的匹配项。

看看这里测试正则表达式:https ://regex101.com/r/WhPIv4/3 和这里检查将正则表达式和替换作为参数的 replaceAll 方法:https ://developer.android.com/参考/java/lang/String#replaceall


推荐阅读