各种编程语言下字符串分割及foreach遍历对比

学的编程语言越来越多,各种相似的函数和语法也容易混淆,这里以各种常用的编程语言分割字符串并做遍历来对比。

一、PHP

explode(separator, string [ ,limit ])

<?php
$str = "1.2.3.4.5";
$strs1 = explode(".",$str); 
foreach ($strs as $i ){
    echo $i."\n";
}
/*
输出结果为
1
2
3
4
5
*/
?>

上述例子中limit参数省略,如果limit设为0则输出结果是1.2.3.4.5,即$str作为数组$strs的一个值

如果limit设为2,则输出结果为:

1

2.3.4.5

如果limit设为-2,则输出结果为:

1

2

3

PHP每条语句后面的分号(;)是不能省略的。

二、Javascript

string.split(separator [,limit])

javascript的limit一般只能是正数

<script>
str = "1.2.3.4.5";
strs = str.split(".");
for (i in strs){
    document.write(strs[i]+"<br>");
}
</script>

三、Perl

split /pattern/, string [ , limit ]

$str = "1.2.3.4.5";
@strs = split(/\./,$str);      #注意反斜杠
foreach $i (@strs) {
    print $i."\n";
}

Perl的数组是用@表示的

四、Python

string.split(separator [ , limit])

str = "1.2.3.4.5"
strs = str.split(".")
for i in strs:
    print (i)

Python要求严格的对齐 ,并且注意for语句的冒号(:)

五、Java:

string.split(separator [,limit] )

String str="1.2.3.4.5";
String[] strs=str.split(".");
for (String i : strs) {  
    System.out.println(i);
}

六、Linux shell

在linux shell中,split主要是用于分割文件的,不是用于分割字符串。所以这里使用另一种方法。

下面例子中,变量$IFS存储系统默认分隔符,下例中将其改为“.",并用oldIFS备份默认的分隔符以便恢复默认。

str="1.2.3.4.5"
oldIFS=”$IFS”
IFS="."
strs=($str)
IFS=”$oldIFS”
for s in ${strs[@]}
do
echo $s
done

也可以用tr命令来实现:

str="1.2.3.4.5"
strs=($(tr "." " " <<< $str))
for s in ${strs[@]}
do
    echo $s
done

注意:Linux赋值时等号两边不能有空格

七、Powershell

String.split(seperator [ , limit ] [ , option] )

option选项比较少用,主要是用于去除空的entry(可以这么用:

$option =System.StringSplitOptions]::RemoveEmptyEntries)

$str = "1.2.3.4.5"
$strs = $str.split(".")
foreach ($i in $strs){
    echo $i
}

Powershell作为一门新的语言,吸收了各家之长,语法上也比较通用。

八、windows批处理BAT

@echo off
set a=1.2.3.4.5
for /f "delims=. tokens=1-5" %%i in ("%a%") do (
 echo %%i
 echo %%j
 echo %%k
 echo %%l
 echo %%m
)
pause

bat是比较古老的了,如果用空格等分割则可以比较方便循环,本例中是以“.”分割,批处理无法直接循环

时间: 2024-10-14 14:06:22

各种编程语言下字符串分割及foreach遍历对比的相关文章

c#--foreach遍历的用法与split的用法

一. foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成.in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素.该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值.放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行.一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面的执行语句. foreach语句经常与数组一起使用,下面实例将通

C#字符串根据特定字符串分割

String字符串如何按多个字符采用Split方法进行分割呢?本文提供VS2005和VS2003的实现方法,VS2005可以用下面的方法: string agentInfo = userInfo.Attribute19.ToString(); string[] myAgent = agentInfo.Split(new string[] { "$#$" }, StringSplitOptions.None); if (myAgent.Length == 3) { this.QLookU

ASP.NET中常用的字符串分割函数

asp.net字符串分割函数用法 先来看个简单的实例 但是其数组长度却是25,而不是3.下面这种方法是先将“[111cn.net]”替换成一个特殊字符,比如$,在根据这个字符执行Split 例如下面我要根据[111cn.net]分割的话 代码如下 复制代码 string[] arrstr2 = str.Replace("[111cn.net]", "$").Split('$'); 好了看其它方法最简单最常用的方法,以一个指定的字符进行的分割 打开vs.net新建一个

C/C++ 字符串分割: strtok 与 strsep 函数说明

函数原型: char *strtok(char *s, const char *delim); char *strsep(char **s, const char *delim); 功能:strtok和strsep两个函数的功能都是用来分解字符串为一组字符串.s为要分解的字符串,delim为分隔符字符串. 返回值:从s开头开始的一个个子串,当没有分割的子串时返回NULL. 相同点:两者都会改变源字符串,想要避免,可以使用strdupa(由allocate函数实现)或strdup(由malloc函

JavaScript基础 split(&quot;&quot;) 将字符串分割成字符数组

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

常用的字符串分割方法

起因:前段时间写命令行解析函数(字符串分割比较通用的例子),没有经过深入思考和分析引起了程序死循环,就想了下是否有对应的系统函数可以使用.经过一番搜索之后发现还是有几个可用的字符串分割函数,这里整理下,以作总结及后续查询使用. 当然,如果你觉得自己的字符串处理可以做的很好,可以考虑直接使用字符串查找函数做字符串分割,比如c中的字符串查找函数.CString字符查找函数.string字符查找函数等,更原始点可以直接操作内存. windows下有以下几种可用的字符串分割方法. CString::To

JavaScript中字符串分割函数split用法实例

这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaScript中字符串分割函数split用法.分享给大家供大家参考.具体如下: 先来看下面这段代码: <script type="text/javascript"> var str="How are you doing today?" document.write

strtok、strtok_s、strtok_r 字符串分割函数

1.strtok函数 函数原型:char * strtok (char *str, const char * delimiters); 参数:str,待分割的字符串(c-string):delimiters,分割符字符串. 使用方法:该函数用来将字符串分割成一个个片段.参数str指向欲分割的字符串,参数delimiters则为分割字符串中包含的所有字符.当strtok()在参数s的字符串中发现参数delimiters中包涵的分割字符时,则会将该字符改为\0 字符.在第一次调用时,strtok()

C语言strtok()函数:字符串分割

头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成一个个片段.参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符.在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL.每次调用成功则返回下一个分割后的字符串指针.