str函数

4、数据类型

一世执手 提交于 2020-04-07 17:24:49
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 4.1、字符串类型(str) 创建字符串类型 v = '123' a = '''456''' b = """1111100""" print(type(v),type(a),type(b))#<class 'str'> <class 'str'> <class 'str'> 字符串类型内置函数 字符串字母转换 upper大写转换 在执行此函数,内部会先循环判断是否为小写字符,然后再吧小写字符转换成大写 v = 'aFcD' a = v.upper() print(v) #aFcD print(a) #AFCD lower转换小写 意思跟转换大写差不多 v = 'ADSSS' a = v.lower() print(a) #adsss 字符串判断 isdigit判断是否为数字 只能判断字符串中类似阿拉伯数字的字符 返回True或False #示例1 v = '1' if v.isdigit(): print(v) else: print('不是数字') #示例2,打印字符串中的数字 v ='asdr124r6das656' for i in v : if i.isdigit(): print(i) #示例3,打印字符串中数字出现个数 v ='asdr124r6das656' totle

PHP字符串反转

孤者浪人 提交于 2020-04-07 13:13:34
PHP字符串反转 字符串其实不难, 只是得考虑中文问题 代码如下(中文字符串也可以) : public function reverseStr($str) { // 获取字符串长度 $len = mb_strlen($str); $res = ''; for($i = 1; $i <= $len; $i++){ // 从后往前每次获取一个字符 $word = mb_substr($str, -$i, 1); $res = $res.$word; } return $res; } ps: 1. php中的strrev() 函数可以直接字符串。但是如果字符串是中文的话,会出现乱码,所以很局限 2. 用此方法时,确保已经开启了扩展库:php_mbstring.dll (在php.ini文件中找到此行,去掉前面的分号就ok了) 来源: oschina 链接: https://my.oschina.net/u/940266/blog/750883

strlen和mb_strlen的区别

梦想与她 提交于 2020-04-07 12:05:29
在 PHP 中, strlen 与 mb_strlen 是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'gbk').'<br>';//8 echo mb_strlen($str,'gb2312').'<br>';//10 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 . 利用这两个函数则可以联合计算出一个中英文混排的串的占位是多少(一个中文字符的占位是2,英文字符是1) echo (strlen($str) + mb_strlen($str,'UTF8')) / 2; 例如 “中文a字1符” 的strlen($str)值是14,mb_strlen($str)值是6,则可以计算出“中文a字1符”的占位是10. echo mb_internal

strlen和mb_strlen的区别

≡放荡痞女 提交于 2020-04-07 12:05:11
在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。 AD: 2013云计算架构师峰会超低价抢票中 在 PHP 中, strlen 与 mb_strlen 是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。 下面通过例子,讲解这两者之间的区别。 先看例子: <?php //测试时文件的编码方式要是UTF8 $str = '中文a字1符' ; echo strlen ( $str ). '<br>' ; //14 echo mb_strlen( $str , 'utf8' ). '<br>' ; //6 echo mb_strlen( $str , 'gbk' ). '<br>' ; //8 echo mb_strlen( $str , 'gb2312' ). '<br>' ; //10 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 . 利用这两个函数则可以联合计算出一个中英文混排的串的占位是多少(一个中文字符的占位是2,英文字符是1) echo (

php中计算中文字符串长度、截取中文字符串

一个人想着一个人 提交于 2020-04-07 11:28:43
在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理。在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启。当然,如果是用的自己的服务器,则只要在php.ini中开启即可。如果是用的虚拟主机,而服务器又没有开启这方面的函数的话,那就需要我们自己写出点适合咱国情的函数来了。 以下几个函数用起来颇为顺手的。不过要知道,得在utf-8环境下使用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 header('Content-type:text/html;charset=utf-8'); /** * 可以统计中文字符串长度的函数 * @param $str 要计算长度的字符串 * @param $type 计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符 * */ function abslength($str) { if

几个支持中文的PHP字符串截取函数

给你一囗甜甜゛ 提交于 2020-04-07 10:55:24
字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了。 <?php function sysSubStr($string,$length,$append = false) { if(strlen($string) <= $length ) { return $string; } else { $i = 0; while ($i < $length) { $stringTMP = substr($string,$i,1); if ( ord($stringTMP) >=224 ) { $stringTMP = substr($string,$i,3); $i = $i + 3; } elseif( ord($stringTMP) >=192 ) { $stringTMP = substr($string,$i,2); $i = $i + 2; } else { $i = $i + 1; } $stringLast[] = $stringTMP; } $stringLast = implode("",$stringLast); if($append) { $stringLast .= "..."; } return $stringLast; } } $string =

python 全栈开发,Day6补充(is,小数据池,编码转换)

五迷三道 提交于 2020-04-07 10:00:14
一、is a = 100 b = 100 print(a == b) print(a is b) 执行输出: True True 查看内存地址,使用id函数 print(id(a)) print(id(b)) 执行输出: 2456839554480 2456839554480 内存地址,相当于门牌号 == 比较的是数值 is 比较的是内存地址 二、小数据池 只有数字和字符串类型 小数据池的作用,就是节省内存 数字: -5~256 这个范围指向的是同一内存地址 字符串,是没有范围的。 字符串: 1.如果含有特殊字符,不存在小数据池 2. str(单个) * int int > 20 不存在小数据池 其它的数据类型,不存在小数据池。 三、编码 asiic : 字母,数字,特殊字符;8位 1个字节表示1个字符。 unicode:万国码: Q :0000 0001 0000 0001 0000 0001 0000 0001 中:0000 0101 0000 0001 0000 0001 0000 0001 utf-8: a: 0000 0001 欧: 0000 0001 0000 0001 中: 0000 0001 0000 0001 0000 0001 gbk:国标 a: 0000 0001 中:0000 0001 0000 0001 1.编码之间的二进制户部识别 2

String.format()用法

懵懂的女人 提交于 2020-04-07 02:12:08
名称 说明 Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。 Format(String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。 Format(IFormatProvider, String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。 Format(String, Object, Object) 将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。 Format(String, Object, Object, Object) 将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项。 多个参数 int m[]=new int{a,b,c,d}; string.format("{0}{1}{2}",m); 一个参数 private const string _extraClause = " AND C_INTERNSHIPORG_INTERNSHIPID = {0}"; //将MyCrypt.Decrypt(Request["id"]

MySQL 加密和压缩函数问题

限于喜欢 提交于 2020-04-06 16:58:05
在MySQL中,加密和压缩函数返回二进制串。对其中的许多函数而言,结果可能包含任意的字节值,如果想存储这些结果,你应该使用一个具有varbinary或者blob二进制串数据类型的列,这可避免潜在的删除尾部空白问题或者字符集转换问题。这些问题可能导致数据值的改变。一般而言,上述问题可能在你使用非二进制串数据类型(如char,varchar,text等数据类型)的情况下发生。 AES_ENCRYPT()和AES_DECRYPT() AES_ENCRYPT()和AES_DECRYPT()可以加密/解密使用官方AES算法的数据。该算法使用128位密钥来编码,但用户可以将其扩展到256位。MySQL选用128位密钥,因为这样算法实现更快,而且对大多数用户而言它也足够安全了。 AES_ENCRYPT(str,key_str)函数加密一个字符串并返回一个二进制串。AES_DECRYPT(crypt_str, key_str) 函数可以解密使用官方AES(Advanced Encryption Standard)算法加密的数据并返回原有字符串,输入变量可以是任意长度。如果输入变量为NULL,那么该函数返回结果也为NULL。 因为AES是一个块级算法,需要使用补白来编码非偶数长度的字符串。 ENCODE()和DECODE() ENCODE(str, pass_str):该函数使用pass

string、wstring、cstring、 char、 tchar、int、dword转换方法

感情迁移 提交于 2020-04-06 07:19:53
最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结一下。以备以后方便使用,当然有些方法可能不是最新的,或者最简单的,但是对于自己已经了解的使用起来应该方便的多: 1》string转wstring wstring s2ws(const string& s) { _bstr_t t = s.c_str(); wchar_t* pwchar = (wchar_t*)t; wstring result = pwchar; return result; } 2》wstring转string string ws2s(const wstring& ws) { _bstr_t t = ws.c_str(); char* pchar = (char*)t; string result = pchar; return result; } 3》string转cstring a)CString.format("%s", string.c_str()); b)CString StringToCString(string str) { CString result; for (int i=0;i<(int)str.length();i++) { result+=str[i]; } return result; } 4》cstring转string a)void