<ul class="uinfo2"><li class="uname2">ruo</li>
<ul class="uinfo2"><li class="uname"><b>Oinsen</b></li>
如果文件包含上述HTML行,我想從整個源代碼中替換粗體標記。如何用文本文件中的空格替換標記?
<ul class="uinfo2"><li class="uname2">ruo</li>
<ul class="uinfo2"><li class="uname"><b>Oinsen</b></li>
如果文件包含上述HTML行,我想從整個源代碼中替換粗體標記。如何用文本文件中的空格替換標記?
如果我理解正確,你想從你的HTML中刪除任何<b>
標籤?如果是這樣,你可以使用jQuery:
$('b').contents().unwrap();
我可能錯了,但我不確定jQuery的介入嗎? OP將它標記爲[Java](儘管它可能被錯誤地標記)。 –
是的。我想我也是這麼認爲的,但在思考之前,Javascript是OP想要的。 –
不要擔心,但。 [總是有jQuery答案的空間!](http://meta.stackexchange.com/questions/19478/the-many-memes-of-meta/19492#19492) –
讀取文件的所有內容並使用replaceAll方法存儲在String(例如String content;)中。
line.replaceAll(「<b>」,「」).replaceAll(「</b >」,「」);
最後在該文件中寫入新的字符串。
File file = new File("input.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
StringBuilder sb = new StringBuilder();
String line = null;
while((line=reader.readLine()) != null)
sb.append(line.replaceAll("<b>", " ").replaceAll("</b>", " "));
FileWriter writer = new FileWriter(file);
writer.write(sb.toString());
writer.flush();
writer.close();
這裏是代碼。
這假設他意味着他想要刪除粗體標籤,但不包括附帶的內容 - 示例中的「0insen」。 「不是說這不是他的意思,只是指出問題中的含糊不清。 – Jay
使用jsoup可以做到這一點:
import java.io.IOException;
import nu.xom.ParsingException;
import nu.xom.ValidityException;
import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;
import org.xml.sax.SAXException;
public class HtmlTest {
public static void main(final String[] args) throws SAXException, ValidityException, ParsingException, IOException {
String[] tagsToKeep = new String[] {"ul", "li"};
String html = "<ul class=\"uinfo2\"><li class=\"uname2\">ruo</li>\n<ul class=\"uinfo2\"><li class=\"uname\"><b>Oinsen</b></li>";
System.out.println(JSoup.clean(html, Whitelist.none().addTags(tagsToKeep)));
}
}
初始化tagsToKeep
所有你不想刪除,並把它傳遞給addTags
的標籤。
這是不是很清楚你在這裏問什麼。您能否詳細說明您的意思*「我想從整個源代碼中替換粗體代碼」*? (點擊您帖子下方的「編輯」鏈接以更新它以獲取更多信息。) –