`
coolsooner
  • 浏览: 1314531 次
文章分类
社区版块
存档分类
最新评论

[28期] 字符串函数总结

 
阅读更多

对于常见字符串进行了大致的总结,不足之处,大家多多指教!

分割函数
explode —— 使用一个字符串分割另一个字符串
array explode ( string separator, string string [, int limit] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 separator 为空字符串("",只是两个双引号,中间什么也没有),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。
如果 limit 参数是负数,则返回除了最后的 limit 个元素外的所有元素。必须保证 separator 参数在 string 参数之前才行。
<?php
// 示例1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces{0}; // piece1
echo $pieces{1}; // piece2
注:也可以用以下方式输出,但为了区分数组推荐用上面的
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

<?php
//示例2
$str = 'one|two|three|four';
// 正数的 limit
print_r(explode('|', $str, 2));
// 负数的 limit
print_r(explode('|', $str, -1));
?>
以上示例将输出:
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
连接函数:
implode —— 把数组中的所有元素组合为一个字符串,函数join()为该函数的别名
string implode ( string glue, array pieces )

此函数返回一个字符串,包含数组中所有元素且与数组中元素顺序一致,用glue连接各个元素

<?php
//示例
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

?>
注:implode中的参数可以调换位置,上例中也可这样写implode($array,",");

删除字符串两端的其他字符:
trim ——删除字符串首尾的其他字符
string trim ( string str [, string charlist] )

此函数返回一个字符串,这是一个去掉str首尾指定字符(charlist)的字符串,如果不加第二个参数,trim()默认删除str首尾的以下字符:
? " " (ASCII 32 (0x20)), 空格.
? "\t" (ASCII 9 (0x09)), 制表符.
? "\n" (ASCII 10 (0x0A)), 换行符.
? "\" (ASCII 13 (0x0D)), 回车符.
? "\" (ASCII 0 (0x00)), the NUL-byte.
? "\x0B" (ASCII 11 (0x0B)),垂直制表符.
<?php

$text = "\t\tThese are a few words :) ... ";

echo trim($text); // "These are a few words :) ..."
echo trim($text, " \t."); // "These are a few words :)"
?>

ltrim —— 只删除字符串首部的其他字符
string ltrim ( string str [, string charlist] )

此函数返回一个字符串,这是一个去掉str首部指定字符(charlist)的字符串,如果不加第二个参数,ltrim()默认删除str首尾的字符同trim一样

<?php
$text = "\t\tThese are a few words :) ... ";
$trimmed = ltrim($text);
// $trimmed = "These are a few words :) ... "
$trimmed = ltrim($text, " \t.");
// $trimmed = "These are a few words :) ... "
?>

rtrim —— 只删除字符串尾部的其他字符
string rtrim ( string str [, string charlist] )

此函数返回一个字符串,这是一个去掉str尾部指定字符(charlist)的字符串,如果不加第二个参数,ltrim()默认删除str首尾的字符同trim一样

<?php
$text = "\t\tThese are a few words :) ... ";
$trimmed = rtrim($text);
// $trimmed = "\t\tThese are a few words :) ..."
$trimmed = rtrim($text, " \t.");
// $trimmed = "\t\tThese are a few words :)"
?>
在以上三个函数的charlist都可以使用a..z来删除a到z之间的所有字符,连续字符用”..”连接

替换函数:
str_replace —— 用出现在replace中的字符串去替换被处理字符串中的search字符串
mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )

此函数返回一个字符串或数组,被处理字符串或数组subject中所有search字符串或数组被replace字符串或数组替换。(search属于subject,replace是要替换为的字符串)

<?php
// Provides: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Provides: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Use of the count parameter is available as of PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>
str_ireplace 替换时忽略大小写,其用法同str_replace
注:使用数组替换时,两个数组中的元素个数必须一样

strtr —— 逐个把from字符串中的每个字符替换为to字符串中对应的每个字符
string strtr ( string str, string from, string to )
string strtr ( string str, array replace_pairs )

此函数返回一个字符串,有两种替换形式,一种是字符串替换,一种是数组对替换,数组对替换中的数组的键名和值分别相当于from和to,不过元素中的键名和值作为一个整体来逐个对应替换

<?php
$str = "http://www.phpbaiduphp.com/php/index.php";
echo $str."<br>";
$nstr=strtr($str,"comp", "net#");//$nstr =htt#://www.#h#baidu#h#.net/#h#/index.#h#
echo $nstr;
?>

<?php
$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);// hello all, I said hi
?>

重复输出字符串函数
str_repeat —— 重复输出一个字符串
string str_repeat ( string input, int multiplier )

此函数返回一个重复multiplier次的字符串,如果multiplier为0,则返回空字符串

<?php
echo str_repeat("-=", 10);// -=-=-=-=-=-=-=-=-=-=
?>

str_pad —— 用一个字符串去填充另一个字符串,最终字符串长度为指定长度
string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] )

此函数返回一个字符串,填充字符串在原字符串的左边,右边或则两边,填充后的字符串总长度为指定的长度,若指定长度小于填充后的字符串,超出部分不填充。如果没有指定填充字符串pad_string,默认填充字符串为空格。pad_type可以是 STR_PAD_RIGH,STR_PAD_LEFT,STR_PAD_BOTH分别代表右、左、两边填充方式

<?php
$input = "Alien";
echo str_pad($input, 10); // produces "Alien "
echo str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___"
echo str_pad($input, 6 , "___"); // produces "Alien_"
?>

查找函数:
strstr —— 查找第一次出现的的位置
string strstr ( string haystack, string needle )

此函数返回一个字符串,该字符串是haystack字符串从第一次出现needle的位置到其字符串结尾的部分字符串,如果needle不存在,返回false。如果needle是整数,则把它看作ASSII编码转换为对应字符

<?php
$email = 'user@exam@ple.com';
$domain = strstr($email, '@');
echo $domain; // 输出: @exam@ple.com
?>

stristr —— 意义用法同strstr,但它不区分大小写

strops —— 查找第一次出现的位置
int strpos ( string haystack, mixed needle [, int offset] )

此函数返回一个整数,该整数为needle第一次出现在haystack字符串中的位置,如果needle不存在,则返回false。如果使用offset,则在offset前出现的needle都忽略

<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);

// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}

// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>

strrpos —— 查找字符最后一次出现在字符串中的位置
int strrpos ( string haystack, string needle [, int offset] )

此函数返回needle在haystack中出现的最后一次的位置,如果needle不存在,返回false,offset>0时从前向后offset位置处向后查找,offset<0时则从后往前查找offset个位置前的最后一次出现的位置

<?php
$mystring = “acdefjbk”;
$pos = strrpos($mystring, "b");
echo $pos;//6
?>

提取函数:
substr —— 提取字符串的一部分
string substr ( string string, int start [, int length] )

此函数返回从指定的开始位置start取length长度的字符串,不指定长度的话,默认到字符串结束,start为非负数,如果为负数,则从后往前来确定位

<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
// Accessing single characters in a string
// can also be achived using "curly braces"
$string = 'abcdef';
echo $string{0}; // a
echo $string{3}; // d
echo $string{strlen($string)-1}; // f

?>
<?php
$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -2); // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"
?>

分享到:
评论

相关推荐

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    atoi函数、atol函数、atof函数:转换字符串 333 总结 336 第12章 结构体 339 12-1 结构体 340 数据关联性 340 结构体 342 结构体成员和运算符 344 成员的初始化 345 结构体成员和-&gt;运算符 346 结构体和...

    Python视频教程.zip

    9字符串. 10实操字符串. 11格式化字符串. 12实操格式化字符串. 13数值类型转换 14实操数值类型转换. 15日期. 16实操日期. 17错误类型. 18实操错误类型. 19条件语句. 20实操if条件语句. 21elif和in. 22实操elif和in. ...

    c/c++ 学习总结 初学者必备

    从功能定义上,strlen函数,用来求字符串的长度,sizeof函数是用来求指定变量或变量类型等所占用内存的 大小; 2.sizeof是运算符,而strlen是C库函数strlen只能用char*做参数,且以'\0'结尾的; 对于静态数组处理: ...

    鸡啄米:C++编程入门系列

    鸡啄米:C++编程入门系列之二十八(数组、指针和字符串:指针的赋 值和指针运算) 鸡啄米:C++编程入门系列之二十九(数组、指针和字符串:指向数组 元素的指针和指针数组) 鸡啄米:C++编程入门系列之三十...

    老男孩Python完美实战课程 14期视频教程 28周Python视频教程 1-14周部分

    │ │ ├11 python s14 day2 字符串常用操作.avi │ │ ├12 python s14 day2 字典的使用.avi │ │ ├13 python s14 day2 三级菜单实例.avi │ │ ├14 python s14 day2 本周作业-购物车优化.avi │ │ └s14day2_...

    MYSQL培训经典教程(共两部分) 2/2

    4 1.1.5总结 5 1.2 关系数据库管理系统 5 1.2.1 关系数据库...函数 9 1.3.3 SQL的语句 9 1.3.4总结 10 1.4 MYSQL数据处理 10 1.4.1 MySQL的数据 10 1.4.1.1、字符串值 10 1.4.1.2数字值...

    MYSQL培训经典教程(共两部分) 1/2

    4 1.1.5总结 5 1.2 关系数据库管理系统 5 1.2.1 关系数据库...函数 9 1.3.3 SQL的语句 9 1.3.4总结 10 1.4 MYSQL数据处理 10 1.4.1 MySQL的数据 10 1.4.1.1、字符串值 10 1.4.1.2数字值...

    计算机二级MYSQL数据库基础与提升课程PPT模板.pptx

    11字符串函数 计算机二级MYSQL数据库基础与提升课程PPT模板全文共22页,当前为第12页。 12日期函数 计算机二级MYSQL数据库基础与提升课程PPT模板全文共22页,当前为第13页。 13系统函数 计算机二级MYSQL数据库基础...

    python入门到高级全栈工程师培训 第3期 附课件代码

    08 Python 字符串的魔法 第11章 01 Python 字符串的魔法 02 Python range的用法以及练习 03 Python 课上练习解释 04 Python 基础知识练习题试题 第12章 01 今日内容介绍以及基础测试题答案讲解 02 Python 列表的...

    c++ 面试题 总结

    ==strcpy拷贝的结束标志是查找字符串中的\0 因此如果字符串中没有遇到\0的话 会一直复制,直到遇到\0,上面的123都因此产生越界的情况 建议使用 strncpy 和 memcpy ---------------------------------------------...

    全面兼容的javascript时间格式化函数(比较实用)

    全面兼容的javascript时间格式化函数,实用总结! 代码如下: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=”utf-8″ /&gt; &lt;meta http-equiv=”Content-Type” content=”text/html; charset...

    Oracle数据库、SQL

    二十、 数据库对象:序列号sequence 44 20.1什么是sequence 44 20.2创建sequence 44 20.3缺省是nocycle(不循环) 44 20.4缺省cache 20 44 二十一、 其他注意事项 46 21.1删除表,删除列,删除列中的值 46 21.2多对...

    老男孩第三期Python全栈开发视频教程 零基础系统学习Python开发视频+资料

    ├─(7) 07 python s3 day41 JS的字符串对象.avi ├─(8) 08 python s3 day41 JS的数组对象.avi ├─(9) 09 python s3 day41 JS的函数对象.avi ├─(10) day41.rar (6)\\python全栈day41-50\\python全栈s3 day42;...

    Visual.Basic.6大学教程.pdf

    8.9 使用InStr和 InStrRev函数在字符串里搜索子字符串 234 8.10 LTrim$、RTrim$和Trim$ 235 8.11 String$和 Space$ 236 8.12 使用Replace 函数替换子字符串 237 8.13 使用StrReverse函数反转字符串 237 8.14 转换...

    Delphi5开发人员指南

    2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和...

    UNIX高级编程 计算机科学丛书

    另外,标准C库提供了大量C程序广泛使用的函数(格式化输入变量的值、比较两个字符串等)。 系统调用和库函数系统上由Unix程序员手册中的第2,3部分说明。本书不是这些内容的重复。该手册没有给出实例,也不说明...

    C语言进阶-牟海军.pdf

     指针与地址、数组、字符串、函数之间的关系,以及指针与指针之间的关系;  枚举类型的使用及注意事项,结构体变量和共用体变量的初始化方法及引用;  传统链表的实现方法和注意事项,以及对传统链表实现方法...

    C语言进阶 作者 Wrestle.Wu

     指针与地址、数组、字符串、函数之间的关系,以及指针与指针之间的关系;  枚举类型的使用及注意事项,结构体变量和共用体变量的初始化方法及引用;  传统链表的实现方法和注意事项,以及对传统链表实现...

    Delphi 5 经典教程

    2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和...

    简单了解Python3里的一些新特性

    概述 到2020年,Python2的官方维护期就要结束...在Python里面,我们经常使用format函数来格式化字符串,例如: user = Jane Doeaction = buylog_message = 'User {} has logged in and did an action {}.'.format( u

Global site tag (gtag.js) - Google Analytics