它包含多个\r\n并且当我使用
Regex.Replace(sampleText, @"[\r\n]{2,}", "<br />");
将其更改为多个\n的多个<br>
。我需要用单个<br />
替换这些多个<br>
Regx后面的文本是:
Addendum 5 changes the following:<div><br></div>div<br>div> Addenda 5 - Landscape
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>Item
<br>Description
<br>Qty
<br>Unit
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>Add
<br>Pavestone Hollandstone Pavers<span style=""> <br>span>
<br>Colo<br>to<br>e dark<br>own.<span style=""> <br>span>Base material not specified. Pavers to<br>e
<br>ADA compliant.
<br>478
<br>SF
<br>
<br>
<br>
<br>Area w<br>Calgary
<br>Carpet Junipe<br>is clouded on sheet L5.1. Unable to determine what changed in
<br>that area.
<br>
<br>
<br>
<br>Deduct
<br>Prunus laurocerasus 'Otto Luykens', 5 gal
<br>Otto Luykens Laurel
<br>-1
<br>EA
<br>
<br>
<br>
<br>Deduct
<br>Miscanthus sinensis<span style="">
<br>span>'Morning Light', 5 gal
<br>Morning Light Miscanthus
<br>-3
<br>EA
<br>
<br>
<br>
<br>Add
<br>Rose 'Knockout', 5 gal
<br>Rose Knockout
<br>11
<br>EA
<br>
<br>
<br>
<br>Deduct
<br>Turf-N Tee Mulch<span style=""> <br>span>
<br>Install 1 1/2" depth mulch
<br>@ 42 sf.<span style=""> <br>span>50% fo<br>each mulch type
<br>-0.1
<br>CY
<br>
<br>
<br>
<br>Deduct
<br>Wood Shavings Mulch
<br>Install 1 1/2" depth mulch
<br>@ 42 sf.<span style=""> <br>span>50% fo<br>each mulch type
<br>-0.1
<br>CY
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>Deduct
<br>12-8-8 Gro-Power
<br>Mix into planting areas at 75
<br>lbs/1000 sf @ 42 sf pe<br>spec 329500-3.6.
<br>-3
<br>LBS
<br>
<br>
<br>
<br>Deduct
<br>5-3-1 Gro-Powe<br>Plus
<br>Mix into planting areas at 150
<br>lbs/1000 sf @ 42 sf pe<br>spec 329500-3.6.
<br>-6
<br>LBS
<br>
<br>
<br>
<br>Deduct
<br>Flou<br>of Sulfur
<br>Mix into planting areas at 20
<br>lbs/1000 sf @ 42 sf pe<br>spec 329500-3.6.
<br>-1
<br>LBS
<br>
<br>
<br>
<br>Deduct
<br>Gro-Safe Activated Charcoal
<br>Mix into planting areas at 200
<br>lbs/1000 sf @ 42 sf pe<br>spec 329500-3.6.
<br>-8
<br>LBS
<br>
<br>
<br>
<br>Deduct
<br>Plant Backfill: Compost
<br>Apply 20% compost mix and 80%
<br>native soil pe<br>detail B/L5.6.
<br>-1
<br>LS
<br>
<br>
<br>
<br>Deduct
<br>Plant Backfill: Nitrogenized
<br>Stabilized Organic Amendment
<br>Fo<br>all container-sized plants,
<br>ackfill shall<br>e a uniform mixture of the following ingredients<br>y volume):
<br>6 parts<br>y volume on-site soil, 4 parts<br>y volume nitrogen stabilized organic
<br>amendment, Grow powe<br>pe<br>manufacturers'<br>ecommendation, 2 lbs. iron sulfate
<br>pe<br>cubic yard of mix pe<br>spec 329500-3.6.
<br>-1
<br>LS
<br>
<br>
<br>
<br>Deduct
<br>Plant Backfill: 5-3-1 Gro-Power
<br>Plant Backfill: 7-5 gal @ 1 cup
<br>pe<br>specs 329500-3.6.<span style=""> <br>span>
<br>-7
<br>Cups
<br>
<br>
<br>
<br>Deduct
<br>Plant Backfill: Flou<br>of Sulfate
<br>Plant 7-5 gal @ 1/2 cup per
<br>specs 329500-3.6.<span style=""> <br>span>
<br>-3.5
<br>Cups
<br>
<br>
<br>
<br>Deduct
<br>Plant Backfill: Gro-Safe
<br>Plant Backfill:7-5 gal @ 1 cup
<br>pe<br>specs 329500-3.6.<span style=""> <br>span>
<br>-7
<br>Cups
<br>
<br>
<br>
<br>Deduct
<br>20-10-5<span style=""> <br>span>Plante<br>Tablets
<br>- 21 gram
<br>Apply to planting pits at:7-5
<br>gal @ 2 tablets pe<br>specs 329500-3.6.
<br>-14.00
<br>EA <br>div<br>div<br>div></span></span></span></span></span></span></span></span></span></span>
请帮帮忙,谢谢。
发布于 2010-12-13 15:53:02
可能是这样的:
Regex.Replace(sampleText, @"[(<br( /|)>|<br( /|)>\n)]{2,}", "<br />");
应检查可能包含\n
换行符的<br>
或<br />
。
我还没有测试过,如果<br>
和换行符之间有空格,可能会出现一些问题
发布于 2013-12-19 18:50:47
下面的正则表达式应该可以工作:
/(<br>\s*){2,}/
它基本上匹配两个或多个连续的<br>
和一对<br>
之间的可选空白字符,然后可以使用replace
方法只用一个<br>
替换匹配的元素。
有关演示,请访问:http://jsfiddle.net/DA9h4/。它使用javascript,但同样的regex也适用于其他语言。
var str = "Addendum 5 changes the following:<div><br></div>div<br>div> Addenda 5 - Landscape<br><br><br><br><br><br> <br>Item";
var r = new RegExp("(<br>\\s*){2,}");
console.log("old value: " + str);
console.log("new value: " + str.replace(r, "<br>"));
对于使用\r\n
的原始问题,可以使用以下类似的正则表达式:
/(\r\n\s*){2,}/
发布于 2013-12-19 18:49:52
尝试使用以下表达式添加<br />
标记:
Regex.Replace(sampleText, @"\r?\n\s*", "<br />");
https://stackoverflow.com/questions/4426716
复制相似问题