字符串函数

Python基础(8)--文件

▼魔方 西西 提交于 2020-02-21 22:32:04
文件是我们储存信息的地方,我们经常要对文件进行读、写、删除等的操作,在Python中,我们可用Python提供的函数和方法方便地操作文件。文件可以通过调用open或file来打开,open通常比file更通用,因为file几乎都是为面向对象程序设计量身打造 本文地址: http://www.cnblogs.com/archimedes/p/python-file.html ,转载请注明源地址。 文件处理的函数和方法 使用Open()函数可打开文件,语法格式如下: file_handler = open(filename,[,mode[,bufsize]] filename是你要操作的文件名,如果不在当前路径,需指出具体路径。mode是打开文件的模式,表示你要如何操作文件,bufsize表示是否使用缓存。 mode 模式 描述 r 以读方式打开文件,可读取文件信息。 w 以写方式打开文件,可向文件写入信息。 a 以追加方式打开文件,文件指针自动移到文件尾。 r+ 以读写方式打开文件,可对文件进行读和写操作。 w+ 消除文件内容,然后以读写方式打开文件。 a+ 以读写方式打开文件,并把文件指针移到文件尾。 b 以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 bufsize bufsize取值 描述 0 禁用缓冲

sizeof与strlen的区别及运用

喜欢而已 提交于 2020-02-21 22:29:37
sizeof与strlen是有着本质的区别,sizeof是求数据类型所占的空间大小,而strlen是求字符串的长度,字符串以/0结尾。 sizeof是一个C语言中的一个关键字,求的是数据类型所占空间的大小,而strlen是一个函数,用来计算字符串的长度,遇见/0就结束。 #include <stdio.h> int main(void) { char a[] = "abcdefg"; int b[4]; int m, n,u; m = sizeof(a); n = strlen(a); u = sizeof(b); printf("m=%d\n",m); printf("n=%d\n",n); printf("u=%d\n",u); return 0; } 运行结果: m=8 //计算的是数组a所占用的空间大小,包括结束符/0 n=7 //计算的是数组a中字符串的长度,不包括结束符/0 u=16 //计算数组b占用的空间大小,int是4字节,所以4*4=16 来源: https://www.cnblogs.com/qwcblog/p/12343291.html

LuaString库捕获和替换(标准库相关)

谁说我不能喝 提交于 2020-02-21 19:19:45
捕获(Captures) Capture3是这样一种机制:可以使用模式串的一部分匹配目标串的一部分。将你想捕获的模式用圆括号括起来,就指定了一个capture。 在 string.find 使用 captures 的时候,函数会返回捕获的值作为额外的结果。这常被用来将一个目标串拆分成多个: pair = "name = Anna" _ , _ , key , value = string . find ( pair , "(%a+)%s*=%s*(%a+)" ) print ( key , value ) -- > name Anna ‘%a+’ 表示菲空的字母序列;’%s*’ 表示 0 个或多个空白。在上面的例子中,整个模式代表:一个字母序列,后面是任意多个空白,然后是 ‘=’ 再后面是任意多个空白,然后是一个字母序列。两个字母序列都是使用圆括号括起来的子模式,当他们被匹配的时候,他们就会被捕获。当匹配发生的时候,find 函数总是先返回匹配串的索引下标(上面例子中我们存储哑元变量 _ 中),然后返回子模式匹配的捕获部分。下面的例子情况类似: date = "17/7/1990" _ , _ , d , m , y = string . find ( date , "(%d+)/(%d+)/(%d+)" ) print ( d , m , y ) -- > 17 7 1990

华育兴业干货 | Web前端经典面试题及答案

a 夏天 提交于 2020-02-21 19:18:57
昨天,小骨头分享了关于Java的面试题,有学员反映需要前端方向的面试题,所以小骨头又来给大家分享干货了,本篇收录了一些面试前端岗位时,经常会遇到的经典面试题,通过对本篇知识的整理以及经验的总结,希望能帮到更多的前端面试者。 javascript 1、JavaScript中如何检测一个变量是一个String类型?请写出函数实现 方法1、 function isString(obj){ return typeof(obj) === "string"? true: false; // returntypeof obj === "string"? true: false; } 方法2、 function isString(obj){ return obj.constructor === String? true: false; } 方法3、 function isString(obj){ return Object.prototype.toString.call(obj) === "[object String]"?true:false; } 如: var isstring = isString('xiaoming'); console.log(isstring); // true 2、请用js去除字符串空格? 方法一:使用replace正则匹配的方法 去除所有空格: str = str

字符串模式匹配KMP算法

拥有回忆 提交于 2020-02-21 17:02:10
字符串模式匹配指的是,找出特定的模式串在一个较长的字符串中出现的位置。 朴素的模式匹配算法 很直观的可以写出下面的代码,来找出模式串在一个长字符串中出现的位置。 1: /* 2: 朴素的模式匹配算法 3: 功能:字符串的模式匹配 4: 参数: 5: s:目标串 6: p:模式串 7: pos:开发匹配的位置 8: 返回值: 9: 匹配成功,返回模式串在目标串的其实位置 10: 匹配不成功,返回-1 11: */ 12: int match(const char * s ,const char * p,int pos){ 13: int i = pos ; 14: int j= 0 ; 15: while(s[i] != '\0' && p[j] != '\0') { 16: if(s[i] == p[j]) { 17: i ++ ; 18: j ++ ; 19: }else { 20: i = i - j + 1; 21: j = 0 ; 22: } 23: } 24: 25: if(p[j] == '\0') 26: return i - j ; 27: else 28: return -1 ; 29: } 上面的代码,s就是目标串,p是模式串,pos指定从s的什么位置开始匹配p。其实现思想也很简单: 当s[i] == p[j]时,目标串和模式串的指针都向后移动一位,进行匹配

scanf(格式控制字符串,参数地址表)

孤街浪徒 提交于 2020-02-21 11:16:44
# include <stdio.h> # include <stdlib.h> int main ( ) { //scanf(格式控制字符串,参数地址表); int a , b ; //Ane request:空格符 is space character scanf ( "%d %d" , & a , & b ) ; printf ( "a=%d,b=%d" , & a , & b ) ; //Two request:逗号 is space character input:3 4 out put a=3,b=39 scanf ( "%d,%d" , & a , & b ) ; printf ( "a=%d,b=%d" , & a , & b ) ; //Three request:input date 字符串"a="和"b="原样输入,即input a=12,b=34 scanf ( "a=%d,b=%d" , & a , & b ) ; printf ( "a=%d,b=%d" , & a , & b ) ; //Four demand input date限定以下格式1234 同时输出结果a=12,b=34 scanf ( "%2d%2d" , & a , & b ) ; printf ( "a=%d,b=%d" , a , b ) ; //Five require

jq 截取字符串

血红的双手。 提交于 2020-02-21 06:07:23
var str="abcde"; 截取ab; str=str.substring(0,2); 意思是从第一个字符开始截取两位; 一、函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); //arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组 二、函数:John() 功能:使用您选择的分隔符将一个数组合并为一个字符串 例子: var delimitedString=myArray.join(delimiter); var myList=new Array(”jpg”,”bmp”,”gif”,”ico”,”png”); var portableList=myList.join(”|”); //结果是jpg|bmp|gif|ico|png 三、函数:indexOf() 功能:返回字符串中匹配子串的第一个字符的下标 var myString=”JavaScript”; var w=myString.indexOf(”v”);w will be 2 var x=myString.indexOf(”S”);x will be 4 var y=myString.indexOf(”Script”);y will also be

常见字符串处理函数总结——puts、memcpy、strlen、strcpy、strcat等

℡╲_俬逩灬. 提交于 2020-02-20 13:02:04
链接 1.memcpy的用法总结 2.strlen函数与sizeof的区别 3.字符串处理函数总结(比较完整详细) 4.常见字符串的输入与输出函的数用法小结 来源: CSDN 作者: 油炸嘎拉小丸子 链接: https://blog.csdn.net/qq_43680471/article/details/104359201

C++ int与string的转化

谁都会走 提交于 2020-02-20 11:44:03
转自:http://www.cnblogs.com/nzbbody/p/3504199.html int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)---前缀加0,16进制(hex)---前缀加0x或者0X。 string前后加上双引号,告诉编译器把它当成一串字符来解释。 注意:对于字符,需要区分字符和字符表示的数值。比如:char a = 8;char b = '8',a表示第8个字符,b表示字符8,是第56个字符。 int转化为string 1、使用itoa(int to string) 1 //char *itoa( int value, char *string,int radix); 2 // 原型说明: 3 // value:欲转换的数据。 4 // string:目标字符串的地址。 5 // radix:转换后的进制数,可以是10进制、16进制等。 6 // 返回指向string这个字符串的指针 7 8 int aa = 30; 9 char c[8]; 10 itoa(aa,c,16); 11 cout<<c<<endl; // 1e 注意:itoa并不是一个标准的C函数,它是Windows特有的

iOS -- MD5加密

試著忘記壹切 提交于 2020-02-20 06:43:03
MD5算法具有以下特点: 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。 MD5应用 一致性验证 典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在 Unix 下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如: MD5 (tanajiya.tar.gz) = 38b8c2c1093dd0fec383a9d9ac940515 这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:大家都知道,地球上任何人都有自己独一无二的 指纹 ,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“ 数字指纹 ”,如果任何人对文件做了任何改动,其 MD5值 也就是对应的“数字指纹