Regex 正则表达式:转换所有单词';大写字母首字母(记事本+;+;或类似)

Regex 正则表达式:转换所有单词';大写字母首字母(记事本+;+;或类似),regex,string,notepad++,Regex,String,Notepad++,我在过去做了很多尝试来掌握正则表达式,我已经解决了问题,但仍然没有清晰的理解 现在,我也解决了一个问题,但解决方案太难看了。 因此,我有许多用空格分隔的带引号的字符串: “字符串”“字符串两个”“大量字符串” 我需要把每个字都大写。因此,我为\u\1查找并替换(.),为“\u\1查找并替换第二次迭代”(.) 问题是: 如何在一次迭代中完成(具体来说:大写字母在引号和空格之后) 一般来说,如何对所有单词执行此操作 如何对预定义单词列表以外的所有单词执行此操作(如of等) 和可选问题 如何将单

我在过去做了很多尝试来掌握正则表达式,我已经解决了问题,但仍然没有清晰的理解

现在,我也解决了一个问题,但解决方案太难看了。 因此,我有许多用空格分隔的带引号的字符串:

“字符串”“字符串两个”“大量字符串”

我需要把每个字都大写。因此,我为
\u\1
查找并替换
(.)
,为
“\u\1
查找并替换第二次迭代
”(.)

问题是:

  • 如何在一次迭代中完成(具体来说:大写字母在
    引号
    空格
    之后)
  • 一般来说,如何对所有单词执行此操作
  • 如何对预定义单词列表以外的所有单词执行此操作(如
    of
    等)
和可选问题

  • 如何将单词的首字母大写,其他字母小写。更可怕的是:保留大写的单词不变。(我知道这太多了,但可能至少有人会费心给我一些指导方针)
我在网上搜索了一下,找到了部分答案,但只是部分,我不知道如何将它们结合起来。还有其他的例子,我也不能翻译它们:它们似乎由一个字符串组成,可以进行替换,但这里有两个字段用于查找和替换。
请原谅我的无知。我对此感到惭愧,但好奇心占了上风。

这在Perl中是可能的:

#!/usr/bin/perl

$test_data = '"string" "string two" "lots of strings"';
$test_data =~ s/\b(.)/\u$1/go;
print $test_data . "\n";
但我不确定是否可以在记事本++中实现这一点。

我没有在记事本++中尝试过这一点(见下文),但我的记事本编辑器(相当类似于记事本++)处理替换
\,我是这样做的:

查找内容:
\b(\w)(\w+)

替换为:
\u$1\E$2

"string" "string two" "lots of the strings"
变成:

"String" "String Two" "Lots of the Strings"

你可以在否定前瞻中添加你想要的每一个单词:
(?!of the | in | out)

Regex不能这样做,但是转换(posix style
tr'[a-z]'[a-z]'
或perl style
tr/a-z/a-z/
,请参见
man-tr
perldoc-f-tr
)可以。我不确定notepad++是否能做到这一点。在npp++中实现这一点的唯一方法是使用插件。如果你找不到,你就得自己创造一个。
"String" "String Two" "Lots of the Strings"