不需要专门分割,c语言里面本来就是用字符数组来保存的,如:char
a[20]="hello
world!";这个字符串,char[0]就是h,char[1]就是e。
2
如果要分割子串,可以使用strtok函数。
char
strtok(char
s,
char
delim);
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
首次调用时,s指向要分解的字符串,之后再次调用要把s设成null。
strtok在s中查找包含在delim中的字符并用null('')来替换,直到找遍整个字符串。(1)如果字符串格式为:
String str="abc#def#hijkl#mn";
string[] s = strSplit(new char[] { '#' });
结果就是:
s[0]="abc";
s[1]="def";
s[2]="hijkl";
s[3]="mn";
(2)如果是单纯的字符串截取就简单了,比如:
String str="abcdefg";
String strnew=strSubstring(3,3);
结果是:strnew="def";
java拆分字符串使用string类的spilt方法,针对某个分隔符来分割一个字符串,示例如下:
public class StringSplit {public static void main(String[] args) {
String sourceStr = "1,2,3,4,5";//一个字符串
String[] sourceStrArray = sourceStrsplit(",");//分割出来的字符数组
for (int i = 0; i < sourceStrArraylength; i++) {
Systemoutprintln(sourceStrArray[i]);
}
// 最多分割出3个字符串
int maxSplit = 3;
sourceStrArray = sourceStrsplit(",", maxSplit);
for (int i = 0; i < sourceStrArraylength; i++) {
Systemoutprintln(sourceStrArray[i]);
}
}
}
输出结果为:
2
4
1
3,4,5
使用strstr函数嘛(以下代码测试通过)功能:在一个字符串中查找特定的字符串,如果查找到会返回查找到字符串的位置,失败返回NULL
分析:搜索字符串"bizbox_userlang=",成功后取出'='后和‘=’后第1个';'之间的所有字符
#include <stdioh>
int main(int argc, char argv[])
{
char buf1[]="bizbox_username=admin; bizbox_userpass=c1501f6698e058e47d3f81f723c2b9f2; bizstore_note=; bizbox_userlang=zh; csd=33; cod=2930; business_note=null";
char buf2="bizbox_userlang=";
char ptr;
char txt[100];
ptr=strstr(buf1,buf2); //成功返回的位置是"bizbox_userlang=zh; csd=33"
if( ptr==NULL)
{
printf("没有找到该内容\n");
return -1;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)