使用开始和结束分隔符拆分字符串

时间:2016-04-06 00:24:28

标签: java string parsing

我正在处理个人通知申请,以便我在发送时。

现在,我可以读取一个URL,并将其另存为.txt文件。

现在,我正试图清理'那个文件。

例如,我想这样做:

<tr>
    <tdclass="date">April11,2015,1:48p.m.</td>
    <tdclass="donor-name">Mr.Bob</td>
    <tdclass="charity-name">Whatever</td>
    <tdclass="amount">$15.00</td>
</tr>
<tr>
    <tdclass="date">April11,2015,2:31p.m.</td>
    <tdclass="donor-name"> 
    // etc etc etc

删除所有内容,同时创建这样的令牌:

捐助者姓名:Mr.Bob

金额:$ 15.00

String toParse = readFile(fileName);
    toParse = toParse.replace("\n","").replace("\r","");
    toParse = toParse.replaceAll("  ", "");
    String donorPattern = "donor-name\\\">([\\w\\s\\.]*)<";
    String amountPattern = "amount\\\">([\\d\\s\\.\\$]*)<";

1 个答案:

答案 0 :(得分:0)

我建议你使用正则表达式。特别是对于这种情况,捕获组“捐助者名称”和“数量”类的正则表达式是:

正则表达式捕获“捐助者姓名”的内容:

donor-name\">([\w\s\.]*)<

正则表达式捕获“金额”的内容:

amount\">([\d\s\.\$]*)<

它们只是使用正则表达式的许多可能方法的示例,我高度建议您改进第二个仅匹配数字。

有关java中的Regex的更多信息:

https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html

希望有所帮助:)