![](/img/trans.png)
[英]How to do Perl regex search-and-replace with indeterminate occurrances?
[英]How do I search and replace with a regex and preserve blank spaces in Perl?
我正在使用此代码: $text =~ s/\\s(\\w)/\\u$1/g;
但这This is an example
成为这是一个ThisIsAnExample
代替This Is An Example
。
如何保留空格?
使用后向。
$text =~ s/(?<!\S)(\w)/\u$1/g;
或使用效率更高的\\K
(Perl 5.10+)。
$text =~ s/(?:^|\s)\K(\w)/\u$1/g;
两种解决方案都将确保第一个单词也大写。 如果这不是问题,可以将第二种解决方案简化为以下内容:
$text =~ s/\s\K(\w)/\u$1/g;
匹配项包含空格,替换项不包含空格。
$text =~ s/(\s)(\w)/$1\u$2/g;
由于\\s
包含不同类型的空格字符,因此,如果要将其保留在替换中,则需要捕获并将其放回去。
另一种选择是使用单词边界和完整的“单词”。
$text =~ s/\b(\w+)\b/\u$1/g;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.