【问题标题】:Search subString in String which starts and ends with special character - C#在以特殊字符开头和结尾的字符串中搜索子字符串 - C#
【发布时间】:2011-07-11 23:13:34
【问题描述】:

我想搜索和替换字符串中以特殊字符开头和结尾的子字符串。

string myString = "FIELD COMPARRISON SAME ROWîSTLîTHEATRE_CASEîCLIENT_IDî==î*EMERGENCY_CLINICAL_PRIORITY_LOCAL_CODE*í";

** 我想用其他值替换 *EMERGENCY_CLINICAL_PRIORITY_LOCAL_CODE* **

编辑:对不起我的错。

我想用其他值替换 EMERGENCY_CLINICAL_PRIORITY_LOCAL_CODE。

目前正在使用 IndexOf 查找 * 的第一个和第二个实例,然后获取具有上述索引的字符串。这在 RegEx 中如何实现?

【问题讨论】:

  • 当原生字符串方法更快、更高效时,为什么还要使用 RegEx?为什么IndexOf不够好?
  • 是的,它工作正常。我想在 RegEx 中实现这一点,我知道在 RegEx 中有办法做到这一点。我认为我们可以使用 RegEx.Matches(string, pattern),只是无法弄清楚要使用的模式。
  • 在这种情况下,我会说Regex == overkill ...我同意kzen,字符串方法应该足够了。

标签: c# regex


【解决方案1】:
char  marker = 'í';
Regex regex = new Regex (string.Format ("(?<={0})([^{0}]*)", marker));
regex.Replace (input, "replacement");

顺便说一句,如果标记发生变化,您可能需要在 string.Format 中使用 Regex.Escape(marker) 而不是 marker

【讨论】:

    猜你喜欢
    • 2023-01-30
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2016-12-21
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多