使用替换文本中替换的文本

时间:2017-03-31 07:16:30

标签: regex notepad++

我正在使用Notepad ++的7.3.3版本。

我有这个数字列表到1.000.000。

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

        let touch = touches.first // get the first touch
        let touchedNode = selectNodeForTouch(touch.location(in: self))
        // do stuff with your 'touchedNode'
    }

我想将XML标签添加到这些数字中,如下所示:

@Override
    public View getChildView(int groupPosition, final int childPosition,
                             boolean isLastChild, View view, ViewGroup parent) {

        if (view == null) {
            LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = layoutInflater.inflate(R.layout.Your_layout, null);
        }

        return view;
    }

所以我需要一个正则表达式来查找以1 2 3 4 5 6 7 8 9 10 11 12 13 14 结尾的数字,并在我要添加的文本中使用我在正则表达式中找到的数字。

你知道在Notepad ++中这样做吗?

我尝试使用<SerialNumber> <SN>1</SN> </SerialNumber> <SerialNumber> <SN>2</SN> </SerialNumber> <SerialNumber> <SN>3</SN> </SerialNumber> <SerialNumber> <SN>4</SN> </SerialNumber> ,但它不是有效的正则表达式。

2 个答案:

答案 0 :(得分:0)

如果我们在名为strData的字符串中使用[1 .... n]数字,那么:

var nums = strData.split("\r\n").map(function(item) {
    return parseInt(item, 10);
});
var strXmlOut = nums.map(function(n) {
   return "<SerialNumber><SN>" + n + "</SN></SerialNumber>";
}).join("\r\n");

并且一个呼叫版本将是:

var xmlOut = strData.split("\r\n")
.map(function(item) {return parseInt(item, 10);})
.map(function(n) {return "<SerialNumber><SN>" + n + "</SN></SerialNumber>";})
.join("\r\n");

答案 1 :(得分:0)

打开&#34;替换&#34;菜单(搜索&gt;替换...)。

并设置如下:
- 找到:(\d+)[(\r)?\n]
- 替换为:<SerialNumber>\r\n <SN>$1</SN>\r\n</SerialNumber>
- 检查:搜索模式 - &gt; Regular expression

然后按Replace All。要匹配最后一个数字,请在文件末尾添加一个空行。

我希望它有所帮助。