perl – 如何在字符串中重复一个字符n次?

前端之家收集整理的这篇文章主要介绍了perl – 如何在字符串中重复一个字符n次?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习Perl,所以请忍受我这个noob的问题。

如何在字符串中重复一个字符n次?

我想做如下的事情:

$numOfChar = 10;

s/^\s*(.*)/' ' x $numOfChar$1/;

解决方法

默认情况下,替换将字符串替换为部分。要在替换过程中执行代码,您必须使用e标志。
$numOfChar = 10;

s/^(.*)/' ' x $numOfChar . $1/e;

这将为您的文本开始添加$ numOfChar空间。要对文本中的每一行进行操作,可以使用-p标志(快速,单行处理):

cat foo.txt | perl -p -e "$n = 10; s/^(.*)/' ' x $n . $1/e/" > bar.txt

或者如果它是较大脚本的一部分,则使用-g和-m标志(全局为-g,即重复替换,-m在每行的起始处使^匹配):

$n = 10;
$text =~ s/^(.*)/' ' x $n . $1/mge;

猜你在找的Perl相关文章