Android String字符串去除指定两个字符串范围内的字符
直接上代码
body-要修改的字符串 ,str1-要删除范围的首字符串,str2-要删除范围的尾字符串
private String subRangeString(String body,String str1,String str2) {
while (true) {
int index1 = body.indexOf(str1);
if (index1 != -1) {
int index2 = body.indexOf(str2, index1);
if (index2 != -1) {
// Log.e("Tag", "下标1为:" + index1 + " 下标2为:" + index2);
String str3 = body.substring(0, index1) + body.substring(index2 + str2.length(), body.length());
// Log.e("Tag", "str3为:" + str3);
body = str3;
}else {
return body;
}
}else {
return body;
}
}
}
调用:
String body= "<p class=\"MsoNormal\" style=\"text-indent:21pt;\">\n" +
"\t<span style=\"font-family:微软雅黑;color:#3F3F3F;letter-spacing:0pt;font-size:10.5pt;\"> <span><span style=\"line-height:1.5;\"><span style=\"line-height:1;\"></span></span></span> </span> \n" +
"</p>\n" +
"<p class=\"MsoNormal\" style=\"text-indent:21pt;\">\n" +
"\t<span style=\"font-family:微软雅黑;color:#3F3F3F;letter-spacing:0pt;font-size:10.5pt;\"> </span> \n" +
"</p>";
String str1 = "font-size";
String str2 = "pt;";
body=subRangeString(body,str1,str2);
System.out.print("转化后为:"+str);
输出结果:
转化后为:<p class="MsoNormal" style="text-indent:21pt;">
<span style="font-family:微软雅黑;color:#3F3F3F;letter-spacing:0pt;"> <span><span style="line-height:1.5;"><span style="line-height:1;"></span></span></span> </span>
</p>
<p class="MsoNormal" style="text-indent:21pt;">
<span style="font-family:微软雅黑;color:#3F3F3F;letter-spacing:0pt;"> </span>
</p>