我正在编写一个程序来读取和分离垃圾邮件和电子邮件.现在我正在使用bufferedreader类java来阅读它.我可以删除任何不需要的字符,如'('或'.'等,使用replaceAll()方法.我也想删除html标签,包括&.如何实现这个!?
谢谢
编辑:感谢您的回复,但我已经有了一个正则表达式,如何结合我的需求并加入一个.继续我正在使用的正则表达式.
lines.replaceAll("[^a-zA-Z]", " ")
Run Code Online (Sandbox Code Playgroud)
注意:我从txt文件中获取行.还有其他任何建议吗?!
在我的应用程序中,我使用a JTextPane来显示一些日志信息.由于我想高亮显示本文中的某些特定行(例如错误消息),因此我将其设置contentType为" text/html".这样,我可以格式化我的文本.
现在,我创建一个JButton,将其内容复制JTextPane到剪贴板中.这部分很简单,但我的问题是,当我打电话时myTextPane.getText(),我会得到HTML代码,例如:
<html>
<head>
</head>
<body>
blabla<br>
<font color="#FFCC66"><b>foobar</b></font><br>
blabla
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
而不是只获取原始内容:
blabla
foobar
blabla
Run Code Online (Sandbox Code Playgroud)
有没有办法只获取我JTextPane的纯文本内容?或者我是否需要自己将HTML转换为原始文本?
基本上我有一个HTML片段<br>和<p></p>里面.我能够删除所有HTML标记,但这样做会使文本格式不正确.
nl2br()除了反转输入和输出之外,我想要像PHP 这样的东西,并且还考虑了<p>标签.Java中是否有一个库?
我需要在我的文本文件&中用" &" 替换所有" "符号,而不是像&或等html代码"
我正在使用 row = row.replace("& ", "&");
但是,正如我所说,html代码被替换,例如"我不想要这个..谢谢
PS.我不能在&之后添加空格,因为我需要用诸如M&M或之类的单词替换它Ella & David
我目前正在使用JavaMail和Spring以HTML格式发送电子邮件.碰巧,HTML是由我的一些Velocity模板生成的,发送代码大致如下:
MimeMessagePreparator preparator = new MimeMessagePreparator() {
@Override public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
message.setSubject(msgInfo.getSubject());
message.setFrom(msgInfo.getFrom());
message.setReplyTo(msgInfo.getFrom());
message.setTo(address);
message.setText(someText, true);
}
}
mailSender.send(preparator);
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但它只发送一个邮件的邮件text/html.我需要的是以纯文本部分的多部分替代方式发送它.有没有办法,使用Spring和JavaMail,以自动方式执行此操作?
PS在以前的生活中,当我使用VB和CDONTS进行编程时,这是内置的,但我似乎无法找到一种简单的方法来使用Java.纯文本版本看起来不错,它必须存在并不是非常重要.我正在努力避免的是必须为此保留第二组Velocity模板.
我是android的新手,在我的应用程序中我必须解析数据,我需要在屏幕上显示.但是在一个特定的标签数据中,我无法解析为什么因为某些特殊字符也会进入该标签.在下面我显示我的代码.
我的解析器功能:
protected ArrayList<String> doInBackground(Context... params)
{
// context = params[0];
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
test = new ArrayList<String>();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new java.net.URL("input URL_confidential").openConnection().getInputStream());
//Document document = builder.parse(new URL("http://www.gamestar.de/rss/gamestar.rss").openConnection().getInputStream());
Element root = document.getDocumentElement();
NodeList docItems = root.getElementsByTagName("item");
Node nodeItem;
for(int i = 0;i<docItems.getLength();i++)
{
nodeItem = docItems.item(i);
if(nodeItem.getNodeType() == Node.ELEMENT_NODE)
{
NodeList element = nodeItem.getChildNodes();
Element entry = (Element) docItems.item(i);
name=(element.item(0).getFirstChild().getNodeValue());
// System.out.println("description = "+element.item(2).getFirstChild().getNodeValue().replaceAll("<div><p>"," "));
System.out.println("Description"+Jsoup.clean(org.apache.commons.lang3.StringEscapeUtils.unescapeHtml4(element.item(2).getFirstChild().getNodeValue()), new Whitelist()));
items.add(name);
}
}
} …Run Code Online (Sandbox Code Playgroud) 如果这些部分不是有效的HTML标记,我想替换String中所有看起来像标记的部分.带标签的部分用<>括号括起来.例如.<myemail@email.com>或者<hello>不过<br>,<div>等必须保持.
你知道如何实现这个目标吗?
任何帮助表示赞赏!
干杯,
巴拉兹
我的输入是纯文本字符串,要求删除除少数特定标记之外的所有html标记,例如:
<p>
<li>
<u>
<li>
Run Code Online (Sandbox Code Playgroud)
如果这些特定标签具有类似class或的属性id,我想删除这些属性.
几个例子:
<a href = "#">Link</a> -> Link
<p>paragraph</p> -> <p>paragraph</p>
<p class="class1">paragraph</p> -> <p>paragraph</p>
Run Code Online (Sandbox Code Playgroud)
我已经完成了从String中删除HTML标记但它没有完全回答我的问题.
它可以由一组正则表达式处理,还是可以使用某些库?
我想在我的应用程序中的某处显示网站的一些内容。以下是它将获得的输入的示例:
<tr class='list even'><td class="list inline_header" colspan="6" >09e Klasse 9e (Kla)</td></tr>
Run Code Online (Sandbox Code Playgroud)
它应该输出类似以下内容:
09e Klasse 9e (Kla)
Run Code Online (Sandbox Code Playgroud)
我努力了
text.replaceAll("<*>", "");
Run Code Online (Sandbox Code Playgroud)
但它并没有按照我想要的方式工作。
我正在寻找这个问题的答案,但针对的是 Java/Android。
java ×8
html ×3
android ×2
parsing ×2
string ×2
html-parsing ×1
jakarta-mail ×1
jtextpane ×1
line-breaks ×1
mime ×1
newline ×1
rss ×1
spring ×1
swing ×1
tags ×1