How to remove some words from a string in java

im running on the Android platform, I use a string variable to fill in the html content after that, I want to delete some words (specifically, delete any words there between the <head>..</head> . Any solution?

+4
source share
3 answers
 String newHtml = oldHtml.replaceFirst("(?s)(<head>)(.*?)(</head>)","$1$3"); 

Explanation:

 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, // ie 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 
+4
source

Another solution :)

 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()); 
+3
source

Try:

 String input = "...<head>..</head>..."; String result = input.replaceAll("(?si)(.*<head>).*(</head>.*)","$1$2"); 
0
source

All Articles