字符串

Swift解读专题四——字符串与字符

梦想与她 提交于 2019-12-02 00:45:10
Swift解读专题四——字符串与字符 一、引言 Swift中提供了String类型与Characters类型来处理字符串和字符数据,Swift中的String类型除了提供了许多方便开发者使用的方法外,还可以与Foundation框架的NSString类进行转换,使用起来十分方便。 二、String基础 在Swift中,使用双引号来定义字符串,开发者可以通过如下代码来创建一个字符串常量: let str = "Hello, playground" 可以通过下面两种方式来创建空字符串: let str1 = "" let str2 = String() 调用isEmpty方法可以判断某个字符串是否为空字符串,这个方法将返回一个Bool值,可以直接用于if语句: if str1.isEmpty { print("this String Object is Empty") } 不像Objective-C有NSString与NSMutableString的区别,在Swift中,如果需要创建可变的字符串,只需用变量来接收: var str3 = "Hello" str3 += " "+"World"//str3 = Hello World String也可以使用插值的方法来构造新的字符串,使用\()的方式来将插值的表达式写在小括号内,示例如下: let multiplier = 3 let

SWIG入门7: 如何用Python封装C语言的字符串处理函数

血红的双手。 提交于 2019-11-30 05:24:56
在C语言中,字符串处理是每天都要面对的问题。我们都知道C语言中其实并没有一种原生的字符串类型,‘字符串’在C语言里只是一种特殊的以'\0'结尾的字符数组。因此,如何将C语言与更高层次的Python语言在‘字符串’处理这个问题上对接是一个有难度的问题。所幸有swig这种强大的工具。 如何封装一个函数,它修改参数字符串的内容 假如有这样一个C语言的函数, <!-- lang: cpp --> void FillZero(char* pc,size_t * piLen) { size_t i=0; while(i++<*piLen/2 ) *pc++ = '0'; *pc = 0; *piLen = i+1; } 这个函数的功能是把字符串变成n个0。不过我们更关注函数的形式。这样的函数,表面上看char* pc是函数的参数,可是实际上它才是函数的返回值和执行的结果。piLen这个参数既是pc的最大长度,也是新的字符串的长度。我们直接用python封装,看看运行结果。 <!-- lang: python --> Type "help", "copyright", "credits" or "license" for more information. >>> import cchar >>> s='123456' >>> cchar.FillZero(s,6) Traceback

C Primer Plus 第11章 字符串和字符串函数 11.4 自定义字符串I/O函数

 ̄綄美尐妖づ 提交于 2019-11-30 04:50:44
不一定要使用标准C库的函数进行输入和输出。如果不具备或者不喜欢它们,您可以自行定义,在getchar() putchar()的基础上建立自己的函数。 假定您希望有一个类似puts()但并不自动添加换行符的函数。程序清单11.10给出了一种方法。 程序清单11.10 put1.c程序 /*put1.c 不添加换行符打印一个字符串*/ #include <stdio.h> void put1(const char *string) /*不会改变这个字符串*/ { while(*string !='\0') putchar(*string++); } char指针string最初指向被调参数的第一个元素。由于这个函数并不改变字符串,因此使用了const修饰符。这一元素的内容输出以后,指针递增并指向下一个元素。这个过程一直继续下去,直到指针指向一个包含空字符的元素。 记住,++比*的优先级高,这意味着putchar(*string++)输出string指向的值,然后再增加string本身,而不是增加stirng指向的字符 。 可以把put1.c看作自定义字符串处理函数的范例。 每个字符串都有一个空字符标志其结束,因此不必向函数传递字符串的大小。相反,函数依次处理每个字符直到遇到空字符。 用数组符号写这个函数会比较长: int i = 0; while(string[i]!='\0')

js str和json之间的相互转换

雨燕双飞 提交于 2019-11-29 17:00:01
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js str和json之间的相互转换</title> </head> <body> </body> <script type="text/javascript"> var json = "{\"name\":\"哈哈\",\"age\":\"20\",\"gender\":\"男\"}"; var obj = null; //obj = strToJson1(json); //obj = strToJson2(json); obj = strToJson3(json); console.log(obj.name + "," + obj.age + "," + obj.gender); console.log("obj:"+obj); console.log(jsonToStr(obj)); //1,eval方式解析,恐怕这是最早的解析方式了。如下: //复制代码 代码如下: function strToJson1(str){ var json = eval('(' + str + ')'); return json; } //记得别忘了str两旁的小括号。 //2,new Function形式,比较怪异哦。如下 //复制代码 代码如下: function