在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: 570312653

[求助] 求助Perl脚本问题

[复制链接]
发表于 2022-10-19 17:03:21 | 显示全部楼层
本帖最后由 gtfei 于 2022-10-19 17:05 编辑


570312653 发表于 2022-10-19 16:32
文档里需要保留的行本身不是相对上一行缩进,有些是对齐的,有些已经缩进了
...


你统一把取出来的数据都做一下处理,把前面的空格都删掉,然后自己加就好了。供参考,可能不是你最终想要的格式,自己改一下就好了:
@arry_modify=();
$cnt=0;
foreach(@arry){
    chomp $_;
    if($_=~/^\s*(.*)\s*/i) {@arry_modify[$cnt]="\t".$1;}
    else {;}
    $cnt++;
}



 楼主| 发表于 2022-10-19 18:48:18 | 显示全部楼层


gtfei 发表于 2022-10-19 17:03
你统一把取出来的数据都做一下处理,把前面的空格都删掉,然后自己加就好了。供参考,可能不是你最终想要 ...


您好,我按照您的方法试了一下,得到的结果是所有保留的行横向排列,我在\t前加了\n之后也是这样排列,您知道怎样让它纵向排列吗
发表于 2022-10-19 19:27:59 | 显示全部楼层
本帖最后由 gtfei 于 2022-10-19 19:45 编辑


570312653 发表于 2022-10-19 18:48
您好,我按照您的方法试了一下,得到的结果是所有保留的行横向排列,我在\t前加了\n之后也是这样排列,您 ...


改成这个试试:
if($_=~/^\s*(.*)\s*/i) {@arry_modify[$cnt]="\t".$1."\n";}
顺便写了个测试代码,我的gvim设置过了\t代表8格缩进,不必在意这个细节,代码参考如下:

test.PNG
 楼主| 发表于 2022-10-20 09:59:39 | 显示全部楼层


gtfei 发表于 2022-10-19 19:27
改成这个试试:
if($_=~/^\s*(.*)\s*/i) {@arry_modify[$cnt]="\t".$1."\n";}
顺便写了个测试代码,我的gv ...


谢谢您,已经得到结果了。
麻烦再问您一下,我应该怎么得到每一行相比上一行缩进的格式
发表于 2022-10-20 09:59:56 | 显示全部楼层
谢谢分享
发表于 2022-10-20 10:33:33 | 显示全部楼层


570312653 发表于 2022-10-20 09:59
谢谢您,已经得到结果了。
麻烦再问您一下,我应该怎么得到每一行相比上一行缩进的格式
...


你说的是下面这种格式?

test_incre.png
发表于 2022-10-20 13:05:40 | 显示全部楼层
顶一下
 楼主| 发表于 2022-10-20 14:40:35 | 显示全部楼层


gtfei 发表于 2022-10-20 10:33
你说的是下面这种格式?


谢谢您,得到结果了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-30 14:31 , Processed in 0.024504 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表