如何从java中的字符串中删除一些单词
问题描述:
即时通讯工作在android平台上,之后我使用字符串变量填充html内容,之后我想删除一些单词(特别是删除<head>..</head>
标记之间的任何单词。任何解决方案如何从java中的字符串中删除一些单词
答
String newHtml = oldHtml.replaceFirst("(?s)(<head>)(.*?)(</head>)","$1$3");
说明:
oldHtml.replaceFirst(" // we want to match only one occurrance
(?s) // we need to turn Pattern.DOTALL mode on
// (. matches everything, including line breaks)
(<head>) // match the start tag and store it in group $1
(.*?) // put contents in group $2, .*? will match non-greedy,
// i.e. select the shortest possible match
(</head>) // match the end tag and store it in group $3
","$1$3"); // replace with contents of group $1 and $3
答
尝试:?
String input = "...<head>..</head>...";
String result = input.replaceAll("(?si)(.*<head>).*(</head>.*)","$1$2");
+0
将无法正常工作 – 2011-05-31 10:20:52
+1
真,感谢您的评论。 – morja 2011-05-31 10:22:22
答
另一种解决方案:)如果内容包含换行符(这几乎是肯定的情况下)
String s = "Start page <head> test </head>End Page";
StringBuilder builder = new StringBuilder(s);
builder.delete(s.indexOf("<head>") + 6, s.indexOf("</head>"));
System.out.println(builder.toString());
谢谢这是我所期望的... – vnshetty 2011-05-31 10:45:38