perl的一些小函数——split、join、sort
有时候,我们需要将一个字符串或一行文本通过某种方式转换为单个的元素存储在数组中,或者将许多元素通过某种分割符,将他们组合成一个字符串。perl刚好就提供了这样的功能,通过split或者join分割或组合元素,下面我们来看一个例子:
- #! /usr/bin/perl -w
- my $str1 = "1,2,3,4,5,6,7,8,9,0";
- my @array = split(/,/,$str1);
- print "@array\n";
- my $str2 = join('-',@array);
- print "$str2\n";
程序的执行结果如下:
- D:\perl>perl split.pl
- 1 2 3 4 5 6 7 8 9 0
- 1-2-3-4-5-6-7-8-9-0
在上面的程序中,我们定义了一个字符串str1,我们想将字符串中连接符“,”替换为“-”。我们首先通过split将字符串中的元素分割开,存储在数组array中,然后再通过join将数组中的元素通过“-”组合为一个新的字符串。
呵呵,这个地方我们只是通过这个例子简单的介绍一个split和join的使用,其实如果你对正则表达式很清楚的话,直接替换就可以了,根本不用这么复杂。
另外我们也可以将这个例子再简化一下,用一条语句来实现:
- $str2 = join('-',split(/,/,$str1));
当然,使用split函数你需要对正则表达式有一点了解,因为split中/,/就是一个正则表达式,通过这个正则表达式来匹配后面的$str1中的分隔符。
三、对数组元素进行排序——使用sort函数
程序:
my @line=qw /12 34 9 12 44 3 11 67 23 1 4 1 7 3 0/;
print "The sorted number is : ";
foreach my $item(sort {$a <=> $b} @line){
print "$item ";
}
结果:
The sorted number is : 0 1 1 3 3 4 7 9 11 12 12 23 34 44 67
通过改变$a与$b的位置可以降序排序,若将<=>换为cmp,则可以进行以ASCII进行排序。
perl的一些小函数——split、join、sort的更多相关文章
- js字符串函数(split、join、indexOf、substring)
1,函数:split()功能:使用一个指定的分隔符把一个字符串分割存储到数组示例: str="jpg|bmp|gif|ico|png";arr= str .split(" ...
- Java中使用split、sort函数
public static void main(String[] args) { // TODO Auto-generated method stub String str = null ; Scan ...
- perl学习之:函数总结
一.进程处理函数 1.进程启动函数 函数名 eval 调用语法 eval(string) 解说 将string看作Perl语句执行.正确执行后,系统变量$@为空串,如果有错误,$@中为错误信息. 例子 ...
- JS_ECMA基本语法中的几种封装的小函数-2
大家好!今天继续给大家写一下ECMA中的剩下的小函数以及实用的实例: 首先先给大家说一下字符串.数组.数学方法以及json的一点小知识点: 字符串方法: str.length str.charAt(i ...
- JS_ECMA基本语法中的几种封装的小函数
先来回顾一下我们的字符串: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.l ...
- NESTED LOOPS & HASH JOIN & SORT MERGE JOIN
表连接方式及使用场合 NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择.nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查 ...
- python3.x 匿名函数lambda_扩展sort
#匿名函数lambda 参数: 表达式关键字 lambda 说明它是一个匿名函数,冒号 : 前面的变量是该匿名函数的参数,冒号后面是函数的返回值,注意这里不需使用 return 关键字. ambda只 ...
- C++常见问题: 字符串分割函数 split
C++标准库里面没有字符分割函数split ,这可太不方便了,我已经遇到>3次如何对字符串快速分割这个问题了.列几个常用方法以备不时之需. 方法一: 利用STL自己实现split 函数(常用,简 ...
- 使用getopt_long来解析参数的小函数模板
getopt_long原型 #define no_argument 0 #define required_argument 1 #define optional_argument 2 struct o ...
随机推荐
- AtCoder Regular Contest 059 F Unhappy Hacking
Description 题面 Solution 我们发现如果一个位置需要被退掉,那么是 \(0\) 或 \(1\) 都没有关系 于是我们想到把 \(0,1\) 归为一类 问题转化为每一次可以添加和删除 ...
- java获取request的头信息
1.获取全部头信息: //get request headers private Map<String, String> getHeadersInfo() { Map<String, ...
- android 生成随机数
/** * 随机数.字母 工具类 * Created by admin on 2017/2/20. */ public class RandomUntil { /** * 生成 ...
- HttpServletResponse对象(二)之常见应用
---恢复内容开始--- 1. 使用HttpServletResponse对象实现文件下载 文件下载功能是web开发中经常使用到的功能,使用HttpServletResponse对象就可以实现文件的下 ...
- 七 FileChannel
FileChannel是一个连接到文件的通道,可以通过文件通道读写文件 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下. 打开FileChannel 在使用FileChannel之 ...
- 高德地图 API JavaScript API
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm12.aspx ...
- SQLServer导入大sql文件报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 (mscorlib)
打开cmd执行(d:\script.sql为sql文件位置): sqlcmd -S 127.0.0.1 -U sa -P sa -i d:\script.sql From:https://ww ...
- mockjs
首先还是那句话,进来的GodBoy and GoodGirl 不妨看完再离开. 一个走在路上的前端攻城狮-along 一.mock的由来 mock有“愚弄.欺骗”之意,在前端领域,mock可以理解为 ...
- C# 索引器的使用
索引器允许类或者结构的实例按照与数组相同的方式进行索引取值,索引器与属性类似,不同的是索引器的访问是带参的. 索引器和数组比较: (1)索引器的索引值(Index)类型不受限制 (2)索引器允许重载 ...
- linux 软连接和硬链接示意图
创建软连接 ln -s 1.txt 1-softlink.txt 创建硬链接 ln 1.txt 1-hardlink.txt