加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:21:25 所属栏目:大数据 来源:网络整理
导读:我正在学习Perl,所以请忍受我这个noob的问题。 如何在字符串中重复一个字符n次? 我想做如下的事情: $numOfChar = 10;s/^s*(.*)/' ' x $numOfChar$1/; 解决方法 默认情况下,替换将字符串替换为部分。要在替换过程中执行代码,您必须使用e标志。 $numOfCh
我正在学习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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读