0

我会保持简单。我得到了这个 xml 文件来修复。它在这个 xml 文件上有超过 10000 个配置文件。在配置文件中有 <Coverage> </Coverage> 标签。我很想知道是否有人知道 Notepad++ 是否支持查找和替换的条件语句,或者他们是否熟悉能够这样做的文本编辑器。其背后的原因是,如果覆盖标签之间的整数 <150000,那么它会给我带来问题。因此,能够找到所有标签,分析标签,如果偶然值小于 150000.. 将其替换为 150000。

*即使是我不熟悉的插件也可能是解决方案

这是个人资料的示例

<FortusTransaction Type="Property">
<Carriers>
<Carrier />
</Carriers>
<Province>NB</Province>
<CodeNames>
<Homeowners>
<QuoteInfo>
<ID>140061761 </ID>
<AssumeMultiLine>Y </AssumeMultiLine>
 <Dwelling>
  <DwellingType>H</DwellingType>
  <CityName>SAINT JOHN </CityName>
  <PostalCode></PostalCode>
  <Prov>NB </Prov>
  <FormType>2 </FormType>
  <Value>140000</Value>
  <Coverage>140000</Coverage>
  <DwellingDate>19660101 </DwellingDate>
  <Liab>-1</Liab>
  <PP>-1</PP>
  <PrmHeatType>CENTRAL FURNACE - GAS </PrmHeatType>
  <PrmHeatApproved>1</PrmHeatApproved>
  <AuxHeat1Type>NONE </AuxHeat1Type>
  <AuxHeat1Approved>1</AuxHeat1Approved>
  <ProtectionClass>P </ProtectionClass>
  <Ded>500 </Ded>
  <DobIns>19860101 </DobIns>
  <NumMortgage>1</NumMortgage>
  <BurgAlarm>NONE </BurgAlarm>
  <Structure>DETACHED </Structure>
  <RoofType>ASPHALT SHINGLES </RoofType>
  <RoofDate>19660101 </RoofDate>
  <Construction>FRAME </Construction>
  <ElectType>COPPER </ElectType>
  <ElectServ>100 AMP </ElectServ>
  <ElectDate>19660101 </ElectDate>
  <PlumbType>COPPER </PlumbType>
  <PlumbDate>19660101 </PlumbDate>
  <OwnerOcc>1</OwnerOcc>
  <OccSince>19660101 </OccSince>
  <InsSince>20060525</InsSince>
  <NumFam>1</NumFam>
  <NumStoreys>1 </NumStoreys>
  <ResidenceCov>
   <Apply>1</Apply>
   <Amount>140000 </Amount>
  </ResidenceCov>
  <SewerBackupExt>
   <Apply>1</Apply>
   <Coverage>140000 </Coverage>
  </SewerBackupExt>
   <Claim>
    <ClaimDate>19900415 </ClaimDate>
    <ClaimType>OTHER </ClaimType>
    <Amount>600 </Amount>
    <Forgiven>0 </Forgiven>
   </Claim>
 </Dwelling>
 </QuoteInfo>
 </Homeowners>
 </CodeNames>
 </FortusTransaction>

我想补充一点,标签之间也有可能有空格。因此,有必要简单地替换标签之间的所有内容。例如另一个配置文件

<Value>142000 </Value>
  <Coverage>142000 </Coverage>
4

1 回答 1

2

您可以使用正则表达式来做到这一点。

在Find what:字段中使用下面的正则表达式:

<Coverage>\s*(1[0-4]|[0-9])?[0-9]?[0-9]?[0-9]?[0-9]\s*</Coverage>

替换为:

<Coverage>150000</Coverage>

这将替换小于的每个<Coverage>number</Coverage>字符串。number150000

检查这个在线演示。蓝色文本将被匹配和替换。做一些测试,写一些例子,并确保它符合你的期望。

Notepad++ 上的用法:

确保选中搜索模式框中的正则表达式单选。检查下面的示例。

示例记事本

于 2013-07-26T21:59:05.247 回答