1 /** 2 * 根据开始和结束字符串,截取字符串 3 * @param str 被截取的字符串 4 * @param startStr 起始字符串(最后一次出现的起始值) 5 * @param endStr 结束字符串(最后一次出现的结束值) 6 * @return 7 */ 8 public static String substring(String str, String startStr, String endStr){ 9 int endSize = endStr.length(); // 截取的尾部长度 10 int startIndex = str.lastIndexOf(startStr); // 截取字串开始位置 11 int endIndex = str.lastIndexOf(endStr); // 截取字符串结束位置 12 return str.substring(startIndex, endIndex + endSize); 13 }
测试代码
1 public void testSub(){ 2 String str = "<subForms><subForm><definitions><column id=\"field0003\" type=\"0\" name=\"文本1\" isNullable=\"false\" length=\"100\"/><column id=\"field0004\" type=\"0\" name=\"文本3\" isNullable=\"false\" length=\"100\"/></definitions><values><row><column name=\"文本1\"><value><![CDATA[{文本1}]]></value></column><column name=\"文本3\"><value><![CDATA[{文本3}]]></value></column></row></values></subForm></subForms>"; 3 String startStr = "<row>"; 4 String endStr = "</row>"; 5 String result =StringUtils.substring(str,startStr,endStr); // 调用方法 6 System.out.println(result); // 运行结果 :<row><column name="文本1"><value><![CDATA[{文本1}]]></value></column><column name="文本3"><value><![CDATA[{文本3}]]></value></column></row> 7 }
运行结果:
标签:Java,String,自定义,截取,endStr,startStr,str,字符串 From: https://www.cnblogs.com/luyj00436/p/18659183