c语言:如何把字符串分解为一个个的字符?

c语言:如何把字符串分解为一个个的字符?,第1张

1
不需要专门分割,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;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13347315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存