java - 用已知的开头和结尾替换部分字符串
问题描述
我从服务器获得了一些已知和未知部分的字符串。例如:
<simp>example1</simp><op>example2</op><val>example2</val>
我不希望解析 XML 或任何使用解析。我想做的是更换
<op>example2</op>
带有空字符串 ("") 的字符串将如下所示:
<simp>example1</simp><val>example2</val>
我知道它以 op(在 <> 中)开始并以 /op(在 <> 中)结束,但内容(example2)可能会有所不同。
你能给我指点如何做到这一点吗?
解决方案
您可以使用正则表达式。就像是
<op>[A-Za-z0-9]*<\/op>
应该匹配。但是您可以对其进行调整,使其更好地满足您的要求。例如,如果您知道只能显示某些字符,则可以更改它。之后,您可以使用 String#replaceAll 方法删除所有与空字符串匹配的匹配项。
看看这里测试正则表达式:https ://regex101.com/r/WhPIv4/3 和这里检查将正则表达式和替换作为参数的 replaceAll 方法:https ://developer.android.com/参考/java/lang/String#replaceall
推荐阅读
- swiftui - 如何在 SwiftUI 中将 .navigationBarTitle 对齐方式更改为 iOS 的尾随(或者,使其从右到左)
- r - 如何为R中的3D散点图中的每个x值赋予颜色
- spring - 使用 @OneToMany 或 @ManyToMany 定位来自 EmbeddedID 的未映射类错误
- cookies - Alpha 任何地方:如何检查 cookie 是否存在?
- java - 无法通过 idex 单击突出显示的元素
- c# - 如何在 dotnet Core web api 中设置大写键值
- python - Flask Marshmallow 用额外字段序列化多对多关系
- oracle - Oracle - 完整 DB 11g 数据库的 Impdp 期间出错
- javascript - 使用 JavaScript 生成唯一的按钮 ID
- css - 图像大于其父级:Edge 上的居中问题