Perl的replace函数

news/2024/12/12 21:53:46/

在使用过程中,遇到一个问题,用Perl的正则表达式无法解决,其正则匹配虽然异常强大,不过好像没有发现满足我需要的replace函数,在实际情况中,我已经把需要替换的15位数据生成好了,只要在特定的文档中的特定的位置,如在需要行中的第15-20的位置把文本替换掉,正则无法做这个,只能手写了一个函数,通过Perl最基本的substr实现此功能:

sub replace(){

my ($line,$exp,$beg,$end)=@_;

$len=rindex $line."/$", "/$"; #计算Line长度
my $line_left=substr($line,0,$beg);

my $line_right=substr($line,$end,$len);

my $newline=$line_left.$exp.$line_right;

}

整个非常简单,line就是原始字符串,exp就是要替换进去的字符串,beg和end是要将原始字符串替换的位置。


http://www.ppmy.cn/news/203573.html

相关文章

Pragma

Pragma是什么?翻译:Rogers后附英文原文。(译者注:一句话,pragma就是为了让编译器编译出的C或C程序与机器硬件和操作系统保持完全兼容而定义的宏扩展,#pragma是和特定编译器相关的。)两部分:1.Pragma说明;2.Pragma的语法。一、Pragma说明(Directives)C和…

Perl语言简介

Perl是一种通用编程语言。凡是其他编程语言能够使用的地方,都有它的用武之地。在各行各业中,它已经被用于你能够想像到的各种各样的任务的处理。Perl的用途之所以如此广泛,原因是Perl被称为是一种“胶水语言”。所谓胶水语言,也就…

oracle 里面pragma,PRAGMA oracle

PRAGMA是一个编译指示(或命令)。 ===== 编译指示在编译时被处理,它们不在运行时执行 ===== 编译指示是对编译程序发出的特殊指令。 ===== 它也称为伪指令(pseudoinstruction),不会改变程序的含义。 ===== 它只是向编译程序传递信息 ,实际上它是非常类似于嵌在 SQL 语句的注释…

Oracle LPAD, RPAD

Oracle实在是很高深啊,怪自己平时太懒,今天遇到一个“算法”吧,我们暂时这样叫它,遇到了一个需要通过Oracle系统函数来截取字符串,用到了下面的函数,但是不好意思,呵呵,今天刚知道&a…

Oracle RAC命令

自己整理笔记使用 HAIP:私有网卡用作两个节点之间的通信,他的健壮性很重要,之前都是通过bonding这种技术来做私有网卡的冗余,Oracle 11.2.0.2之后有了HAIP这种技术,Oracle提供私有网卡的冗余 [gridrac01 ~]$ ip a 3: …

RP1

什么是RP1? RP1是OBSAI(Open Base Station Architecture Initiative)引入的概念。 https://en.wikipedia.org/wiki/Open_Base_Station_Architecture_Initiative OBSAI架构中,BTS的结构分为四块: Radio Frequency (R…

什么是Perl语言?

perl Perl 最初的设计者为 拉里沃尔(Larry Wall),它于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。 Perl 一般被称为“实用报表提取语言”(PracticalExtraction andReportLanguage&a…

Oracle Privileges and Roles

Oracle Privileges Oracle包括两大类权限,一种是系统权限,另外一种是对象权限。 System Privileges Create sessionCreate tableCreate viewCreate procedureSysdbaSysoper Object Privileges Privileges can be assigned to any of the following types…