小编Ial*_*ale的帖子

快速多串替换

我需要执行多字符串替换.我有一个字符串,根据替换图需要更改几个部分.

所有替换必须在一个动作中完成 - 这意味着如果" a"应该用" b" 替换,并且" b"必须用" c" 替换,输入字符串是" abc",结果将是" bcc"我有一个基于建筑物的溶剂正则表达式然后替换所有匹配.我前段时间写过它,现在我正在重构代码并且不满意它.是否有更好(更快,更简单)的溶出度?

这就是我所拥有的:

public static string Replace(string s, Dictionary<string, string> substitutions)
{
    string pattern = "";
    int i = 0;
    foreach (string ch in substitutions.Keys)
    {
        if (i == 0)
           pattern += "(" + Regex.Escape(ch) + ")";
        else
           pattern += "|(" + Regex.Escape(ch) + ")";
        i++;
     }

     var r = new Regex(pattern);
     var parts = r.Split(s);

     string ret = "";
     foreach (string part in …
Run Code Online (Sandbox Code Playgroud)

c# regex

10
推荐指数
1
解决办法
165
查看次数

在WPF Richtextbox中获取TextPointer的XY坐标

我想知道是否可以在WPF Richtextbox中获取TextPointer的XY坐标.

wpf richtextbox coordinates

4
推荐指数
1
解决办法
2969
查看次数

XPath - 获取具有条件的文本节点的父节点

<doc ok="yes">
    <a>
        <b>
            <c>
                aa
                <d ok="yes">
                    bb
                </d>
                cc
            </c>
        </b>
    </a>
    <e>
        ee
    </e>
    <f ok="no">
        no
    </f>
</doc>
Run Code Online (Sandbox Code Playgroud)

我需要使用XPath检索节点列表,其中每个节点必须满足以下条件:

  1. 节点至少有一个子文本节点

  2. 如果节点(或祖先轴中最近的节点)具有属性"ok",则该值必须为"yes"

  3. 当任何祖先是结果的一部分时,排除节点

所以在我的样本中,我想得到<c><e>.节点<d>被排除,因为它是子节点<c>,这是结果的一部分.

我用条件(1)开始使用这个表达式//*[count(./text()[normalize-space()])>0].它返回<c>,<d>,<e><f>.我不知道如何排除<d>

xpath

4
推荐指数
1
解决办法
1052
查看次数

标签 统计

c# ×1

coordinates ×1

regex ×1

richtextbox ×1

wpf ×1

xpath ×1