3

我们的标准已经改变,我想在 Dreamweaver(它允许 RegEx 或者我们刚刚获得 Visual Studio 2010,如果它允许通过 RegEx 搜索)中对所有下划线和驼峰式它们进行“查找和替换”。

RegEx 会怎样做呢?

正则表达式让我感到困惑。我肯定需要做一些学习。

提前致谢!

更新:更多信息 - 我正在我的 html、aspx、cfm 或 css 文档中搜索包含下划线的任何字符串,并将其替换为以下大写字母。

4

4 回答 4

3

我遇到了这个问题,但我还需要处理将 gap_in_cover_period_d_last_5_yr 等字段转换为 gapInCoverPeriodDLast 并发现 10 个其他 sed 表达式中有 9 个,不喜欢 1 个字母单词或数字。

所以要回答这个问题,请使用 sed。sed -s 相当于在 vim 中使用 :s 命令。所以下面的例子是一个命令(即 sed -s/.../gc

这似乎有效,尽管我确实必须运行它两次(word_a_word 将在第一次通过时变为 wordA_word,在第二次通过时变为 wordAWord。sed 向后命令,对于我的麻瓜血统来说太神奇了):-

s/\([A-Za-z0-9]\+\)_\([0-9a-z]\)/\1\U\2/gc
于 2016-03-15T10:32:20.320 回答
2

我最近不得不处理您询问的类似情况。这是我在 VIM 中使用的一个正则表达式,它为我完成了这项工作:

%s/_\([a-zA-Z]\)/\u\1/g

举个例子:

this_is_a_test变成thisIsATest

于 2014-08-29T22:27:52.573 回答
0

我不认为纯粹用正则表达式来做这件事的好方法。搜索 _ 字符很容易,例如 ._。应该努力找到两边都有东西的_,但你需要一个更强大的脚本系统来改变_后面的字符的大小写。我建议 perl :)

于 2012-03-28T16:54:28.250 回答
0

我在 PHP 中有一个解决方案

preg_replace("/(_)(.)/e", "strtoupper('\\2')", $str)

可能有更优雅的选择器标准,但我想保持简单。

于 2012-12-19T15:23:31.470 回答