1. string拆分成数组
echo $url | cut -d , -f 1cut是切割命令,-d表示分隔符,这里是逗号,-f表示取第几个,这里是第一个注意和数组不一样,数组是取第0个。
2. string转string数组
1、string 转 byte[] String str = "Hello";byte[] srtbyte = str.getBytes();
2、byte[] 转 string byte[] srtbyte;String res = new String(srtbyte);System.out.println(res);
3、设定编码方式相互转换 String str = "hello";byte[] srtbyte = null;try { srtbyte = str.getBytes("UTF-8"); String res = new String(srtbyte,"UTF-8"); System.out.println(res);} catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace();}
3. string数组合并
1、定义和构造初始化
string 提供了很多构造函数,可以以多种方式来初始化string字符串
2、赋值,拼接字符串
string重载了 = + += 等多种运算符,让字符串组合拼接更简单
3、访问字符操作
string可以按数组方式,以下标来访问。还可以用at()函数访问指定的字符
4、可以使用 STL 的接口
可以把 string 理解为一个特殊的容器,容器中装的是字符
5、比较操作 == != > >= < <= compare 等
string的比较操作,按字符在字典中的顺序进行逐一比较。在字典前面的字符小于后面的字符。
6,查找 find rfind
string中除了find、rfind,还有find_first_of等函数也提供了强大的查找功能
7、除了string中的find函数外,char[]数组也有强大的查找函数
C++中有strstr、strchr等也有查找功能。函数说明如下
char *strstr( const char *str, const char *substr ); 返回指针,指向substr在字符串str中首次出现的位置。
char *strchr( const char *str, int ch ); 返回指针,指向 str 中字符ch 首次出现的位置。
8、与 char[ ] 的相互转换
copy(),返回指针,赋值给char[ ]数组名
c_str() ,返回 const 类型的指针
data() ,将内容以字符数组的形式返回
9、分割字符串
常用 strtok 和 substr 来分割字符串
10、string 大小分配函数
capacity() ,返回容器在它已经分配的内存中可以容纳多少元素
resize(Container::size_type n),强制把容器改为容纳n个元素
11、string 中的字符替换、删除操作
12、char[ ] 常用的比较、拼接字符串功能
任意字符查找:char *strpbrk( const char *str1, const char *str2 );
内存拷贝:void *memcpy( void *to, const void *from, size_t count );
如果 to 和 from 重叠,则函数行为不确定。
memset() 对内存初始化。如:memset( array, '\0', sizeof(array) );
这是将数组的所以元素设置成零的很方便的方法
4. 字符串拆成数组
s='1234abcd'-- 拆分成{"1","2","3","4","a","b","c","d"}k=strlen(s)list1={}for i=1,k do list1[i]=strsub(s,i,i)endfor i=1,k do print(list1[i])end注:lua4脚本若是lua5,strlen改为string.strlen,strsub改为string.strsub
5. string怎么变成数组
lua 中将string类型转换为byte数组的具体方法代码是:s='fghhgggfffghhkiutr't={}for i=1,string.len(s) dotable.insert(t,string.byte(string.sub(s,i,i)))endfor i=1,string.len(s) do print(t[i]) end
6. string变成string数组
chars[20];s="helo";这样错误的原因就是:不能用赋值语句将一个字符串常量直接给一个字符数组赋值。
chars[20];charss[]="hello";s=ss;错误原因是:不能用赋值语句将一个字符数组直接给一个字符数组赋值,即字符串的复制(c语言中,但是在c++的string类,上面的赋值是正确的)必须用strcpy()函数实现。
而chara[]=”toyou“;正确的原因是:因为在声明数组变量的时候就是,为其开辟空间,并为其初始化,这样才是符合c语言语法的。扩展资料:C语言中字符串赋值的理解一、指针式赋值上面的示例是显然可以正常执行的,也是很容易理解的。但是下面这种方式就令人有点难以理解了。
通过程序的运行情况,我们可以知道:char*p="hello";这种字符串的赋值方式是完全没有问题的。
要理解这种赋值方式,我们首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。
双引号主要做了3个工作,分别是:
(1)申请了空间(在常量区),存放了字符串。
(2)在字符串尾加上了“\0”。
(3)返回地址。
这里所返回的地址就赋值给了char*类型的指针变量p。二、通过字符数组直接把字符串赋值。程序如下:
三、需要注意的一些问题直接把字符串赋值给数组名(也就是数组首元素的首地址)是不行的。
7. string切割成数组
js获取一个字符串最后的一个字符,可以参考 如下方法 :方法一:运用String对象下的charAt方法charAt() 方法可返回指定位置的字符。str.charAt(str.length – 1)请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串方法二:运用String对象下的substr方法substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 str.substr(str.length-1,1)重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。(
www.111cn.net
)在之后的版本中,此 BUG 已被修正。方法三:运用String对象下的split方法split() 方法用于把一个字符串分割成字符串数组。var str = “123456″;spstr = str.split(“”);spstr[spstr.length-1];方法四:正则搞定 <script type="text/javascript"> //<![CDATA[ var s = "nasofj;n234n41;v"; alert("String: "+s+"nn"+"LastOne: "+s.replace(/^(.*[n])*.*(.|n)$/g, "$2")); //]]></script>8. 数组拆分成多个数组
字符串转换为数组的场景还是比较常见的。比如在前后端通信时,或异构系统互相调用接口通信时,发送方按约定的规则把数据用特殊的字符拼接起来,接收方就按这个特殊的字符来拆分数据。
拆分数据用split。比如前端JS接收到这样一个记录人员信息的字符串,str = "张三_100_男|李四_101_男|王五_102_女",
先用“|”作第一次拆分,var arr = str.split("|");数组的每个元素就是一条人员信息。
如果想得到每个人的具体信息,用"_"做第二次拆分,var arr2 = arr[0].split("_");那么arr2[0]就得到了一个人名“张三”。
9. string分割成数组
<% dim s,t,i s="peng" redim t(len(s)-1) for i=1 to len(s) t(i-1)=mid(s,i,1) next '测试结果 for i=0 to ubound(t) response.write t(i) & "<br>" next %>
10. string按空格分割成数组
在C语言中,字符串是以字符数组方式保存的,于是字符串数组可以用二维字符数组存储。
输入时,每次输入字符串数组的一个元素(一行),根据需要,使用scanf或gets进行输入。
如:
charstr[10][100];//定义字符串数组,供10行,每行最多100个字节数据。
inti;
for(i=0;i<10;i++)
scanf("%s",str[i]);//输入10行字符串数据。
- 相关评论
- 我要评论
-