在字符串的每个单词中首字母大写的最简单方法是什么?

===============>>#1 票数:48

正如@brian在评论中提到的那样,@ piCookie当前接受的答案是错误的!

$_="what's the wrong answer?";
s/\b(\w)/\U$1/g
print; 

这将打印“什么是错误的答案?” 注意大小写错误的S

常见问题解答所述 ,您可能最好使用

s/([\w']+)/\u\L$1/g

Text :: Autoformat

===============>>#2 票数:16 已采纳

参见常见问题解答

我不相信ucfirst()满足OP的问题,即在不分割字符串并随后将其连接的情况下,将每个单词的首字母大写为大写。

===============>>#3 票数:10

看一下ucfirst函数。

$line = join " ", map {ucfirst} split " ", $line;

===============>>#4 票数:9

$capitalized = join '', map { ucfirst lc $_ } split /(\s+)/, $line;

通过捕获空白,它将插入列表中,并用于重建原始间距。 “ ucfirst lc”将“ teXT”大写为“ Text”。

===============>>#5 票数:6

$string =~ s/(\w+)/\u$1/g;

应该很好

===============>>#6 票数:2

这仅大写每行的第一个单词:

perl -ne "print (ucfirst($1)$2)  if s/^(\w)(.*)/\1\2/" file

===============>>#7 票数:1

您可以使用“ Title Case ”,它是用Perl编写的非常酷的代码。

===============>>#8 票数:1

请注意,如果您的单词全部大写,并且希望改为(仅)大写,则FAQ解决方案将不起作用。 您可以制作更复杂的正则表达式,也可以在应用FAQ解决方案之前对字符串执行lc。

===============>>#9 票数:0

尝试这个 :

echo "what's the wrong answer?" |perl -pe 's/^/ /; s/\s(\w+)/ \u$1/g; s/^ //'

输出将是:

What's The Wrong Answer?

===============>>#10 票数:0

映射中的ucfirst函数当然可以执行此操作,但是仅以非常简单的方式进行。 如果您想要更高级的内容,请查看John Gruber的TitleCase脚本

  ask by Dan Littlejohn translate from so

未解决问题?本站智能推荐:

4回复

在Matlab中将字符串中每个单词的首字母大写/大写?

在Matlab中将字符串中每个单词的第一个字母大写/大写的最佳方法是什么? 即 西班牙的降雨主要落在飞机上 至 西班牙的雨主要落在飞机上
2回复

Javascript函数将每个单词的首字母大写

我是javascript新手,所以我写了第一个有用的函数。 如果它有任何缺点,请给我留言!
5回复

PHP-每个单词的首字母大写期望某些单词

我有一批这样的字符串: 我要大写每个单词的第一个字符,其余的字符都小写-除iPhone或iPad任何引用外。 如: 通过使用: 这可以满足大多数需求,但显然在iPad和iPhone上也可以做到: 我该如何做到以下几点:
8回复

使用vim将选择中的每个单词的首字母大写

在vim中,我知道我们可以使用~大写单个字符(如本问题所述),但是有没有办法在使用vim的情况下将每个单词的首字母大写呢? 例如,如果我想从 hello world from stackoverflow 到 Hello World From Stackoverflow 我应该如何在vim中
26回复

将字符串中每个单词的首字母大写-JavaScript

此功能有什么问题? 我迷失了感谢的帮助。
16回复

如何将字符串中每个单词的首字母大写?

...在这里做某事... s应该是: 最简单的方法是什么?
8回复

正则表达式每个单词的首字母大写,也包括破折号在内的特殊字符后的首字母大写

我用这个#(\\s|^)([a-z0-9-_]+)#i大写每个单词的第一个字母,如果它在破折号之类的特殊标记之后,我也希望将其大写。 -) 现在显示: 我想要这个: 对我有什么建议/样品吗? 我不是专业人士,因此请尽量使它简单易懂。
85回复

如何在JavaScript中将字符串的首字母大写?

如何使字符串的第一个字母大写,但不更改其他任何字母的大小写? 例如: "this is a test" -> "This is a test" "the Eiffel Tower" -> "The Eiffel Tower" "/index.html"
4回复

将[和]之间的每个单词的首字母大写在文本文件中

编辑:这个问题不同于其他“首字母大写”问题,因为它只需要在“[”和“]”之间进行大写。 由于标题不完整,我编辑了它。 我有一个文本文件,我需要重新格式化文本。 我试图在'r +'中打开文件时循环行和单词,但是没有成功。 这是一个示例: 我希望[]之间的每个单词中的第一
11回复

将两个单词的字符串中两个单词的首字母大写

假设我有两个单词的字符串,并且我想将两者都大写。 Hmisc程序包具有一个将首个单词capitalize大写功能,但是我不确定如何将第二个单词大写。 capitalize的帮助页面并不暗示它可以执行该任务。 我想得到: 三字串呢: