0

我有一个 xml 文件,需要在某些字段上有 60 个字符的限制。

例子

<Description>This is a long description that is really over 60 characters long and needs to be shortened</Description>

我需要修剪每一次出现,所以它只有 60 个字符,所以上面的输出是。

<Description>This is a long description that is really over 60 characters</Description>

使用记事本++,我将如何使用正则表达式进行搜索和替换?

我有多个文件,我需要对每个文件运行这个大约有 2000 行,并且该字段大约出现 10-15 次。

并非所有字段都有超过 60 个字符,只是其中一些。

数据块示例

        <Product>
        <SuppliersProductCode>PF01215</SuppliersProductCode>
        <BuyersProductCode></BuyersProductCode>
        <GTIN>0</GTIN>
        <Description>This is a long description that is really over 60 characters long and needs to be shortened</Description>
        <Properties>
            <Quantity UOMCode="EA">
                <Packsize>1</Packsize>
                <Amount>1</Amount>
            </Quantity>
        </Properties>
    </Product>

谢谢

4

1 回答 1

1

我认为正则表达式<Description>([^<]{0,60})[^<]*</Description>匹配你想要的,假设描述从不包含“<”。请注意,换行符也被计算在内。如果您想避免这种情况,请使用<Description>\R?([^<]{0,60})[^<]*</Description>.

在“替换”框中输入<Description>\1</Description>. \1引用与第一对括号之间的表达式匹配的内容。它被称为反向引用。更多信息

于 2012-08-08T16:44:04.543 回答