在记事本++字符限制中搜索/替换

时间:2012-08-08 14:54:17

标签: regex notepad++ replace

我有一个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>

使用notepad ++如何使用Regex进行搜索和替换?

我有多个文件需要针对每个文件运行,大约有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>

由于

1 个答案:

答案 0 :(得分:1)

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

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