1

我正在寻找一种将句子形式中每个单词的第一个字符从小写变为大写的方法。我已经阅读了以下答案,但它不起作用。

我尝试使用\U将第一个字母替换为大写字母。但它返回 \U 作为替换,而不是第一个字母。有人可以看看http://regexr.com?36h59

先感谢您!

4

4 回答 4

1

是否可以进行文本转换取决于正则表达式的实现。大多数标准实现都基于 Perl 正则表达式并且不支持这一点。

然而,许多文本编辑器确实提供了某种转换方式,因为它们没有任何其他处理正则表达式匹配的能力。例如,您的链接问题中的答案是指一个名为“TextPad”的编辑器。这些转换通常是非标准的,并且根据您使用的工具可能会有很大差异。然而,在使用编程语言时,您并不真正需要那些内置在正则表达式语法中的功能,因为您可以轻松地存储匹配项并自行进行一些进一步的处理。许多语言还允许您提供一个函数,然后调用该函数来单独处理每个替换。

如果您告诉我们您使用的是什么语言,我们可能会为您提供进一步的帮助。

一些例子

JavaScript:

> text = 'anleitungen gesundes wohnen';
> text.replace(/(\w+)/g, function(x) { return x[0].toUpperCase() + x.substring(1) });
'Anleitungen Gesundes Wohnen'

Python:

>>> import re
>>> text = 'anleitungen gesundes wohnen'
>>> re.sub('(\w+)', lambda x: x.group(0).capitalize(), text)
'Anleitungen Gesundes Wohnen'
于 2013-09-29T01:00:40.210 回答
0

javascript

 str.replace(/' '([a-z])+/, foo);

function foo(x){
    return x.toUpperCase();
}
于 2013-09-29T01:00:22.093 回答
0
$ echo 'xyzzy plugh dwarf' | sed 's/\(\<.\)\.*/\u\1/g' 
Xyzzy Plugh Dwarf
于 2013-09-29T01:06:24.547 回答
-1

如果您使用 PHP 进行编码,请查看此处的手册:http: //php.net/manual/en/function.ucwords.php

于 2013-09-29T00:55:21.190 回答