【问题标题】:Find words that start with an underscore查找以下划线开头的单词
【发布时间】:2014-02-22 08:08:53
【问题描述】:

如何选择所有以下划线开头的属性名称并将其替换为相同的属性名称但没有下划线?这是一项非常繁琐的任务,我想使用 VS2012 的查找和替换功能来简化它。

编辑:

我设法用这个正则表达式选择了所有带下划线的属性名称

(?<!\w)_\w+

但是如何用不带下划线的类名替换呢?

【问题讨论】:

  • 你的项目是什么语言 - c# / c++/cli ?
  • 写一个正则表达式。关于该主题的足够多的教程。甚至有几个网站,比如regexpal.com
  • @mockinterface 是用 C# 编写的。
  • 可能是 \1 或者可能是 \0(试试你总是有 CTRL-Z) Meybe $ 而不是 \
  • 你有什么尝试?分享你的代码

标签: c# regex visual-studio-2012 replace


【解决方案1】:

找到(?&lt;!\w)_ 并将其替换为空。

注意到替换字段仅将正则表达式视为字符串。

【讨论】:

    【解决方案2】:

    在 C# 编程中:

    withoutUnderscore = Regex.Replace("_test", @"(?<!\w)_(\w+)", "\1");
    

    编辑#1

    在 Visual Studio 的查找和替换对话框中:

    1-在查找内容字段中输入(?&lt;!\w)_{\w+}

    2-Type \1 in 替换为字段

    【讨论】:

    • 我认为他在 VS 上使用了 CTRL-H。现在与编写程序本身无关。
    • @EdHeal OP 应该明确他的需求。我也会编辑我的答案。
    • 引用“...我想使用 VS2012 的查找和替换功能来简化它。”对我来说似乎很明显
    • @EdHeal 根据 cmets OP 注意到该语言,所以我考虑了它。
    • 那更好+1。这台笔记本电脑上还没有 VS
    【解决方案3】:

    将下面的正则表达式放在Find and Replace窗口内的适当字段中:

    Find what: <_{[A-Za-z0-9]+}
    Replace with: \1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      相关资源
      最近更新 更多