精华内容
下载资源
问答
  • 字符串的分割

    千次阅读 2019-08-08 19:52:48
    总部想法很简单,把基因序列均匀分成连续M段,每个国家各自选一段进行处理,各自选择不允许重复。但是这些基因太长了,总部文员不知怎么办,请你帮他将序列分段并交给它们对应国家。 输入    ...

            基因工程总部需要让M个国家共同解码一段长度为M*L的基因序列。总部的想法很简单,把基因序列均匀分成连续的M段,每个国家各自选一段进行处理,各自的选择不允许重复。但是这些基因太长了,总部文员不知怎么办,请你帮他将序列分段并交给它们对应的国家。

    输入
            包括3行,第一行包含两个数M,L(1≤M≤100,1≤L≤1000)
            第二行为长度为M*L的字符串,保证字符串只包含A,T,C,G四个大写字母。
            第三行包含M个数,其中的第i个数Xi表示第i个国家选了从左向右数的第Xi段基因序列,保证Xi互不相同且为1~M的排列。

    输出
             输出M行,第i行表示第i个国家选的基因序列。
             不要在行末输出任何多余的空格或字符。

    输入样例 1

    3 3
    ACCTGACAG
    2 3 1
    

    输出样例 1

    TGA
    CAG
    ACC
    

    c++代码

    #include<iostream>
    #include <string>
    
    using std::cin;
    using std::cout;
    using std::endl;
    using std::string;
    
    int main()
    {
        int m, l, a[101];
    	string wholeStr, tempStr;
    	cin >> m >> l;
    	cin >> wholeStr;
    	for (int i = 1; i <= m; i++) {
    		cin >> a[i];
    	}
    	for (int i = 1; i <= m; i++) {
    		int startPosition = (a[i] - 1) * l;                //找到第a[i]段字符串的起始下标
    		tempStr = wholeStr.substr(startPosition, l);       //把从下标a[i]开始的长度为l的子串赋值给tempStr
    		cout << tempStr << endl;
    	}
        return 0;
    }
    
    展开全文
  • C++中字符串的分割

    千次阅读 2016-01-04 22:34:48
    —题记下面开始正题,C++中字符串的分割。 1. 使用strtok函数进行字符串的分割 2. 使用stringstream类配合getline函数进行字符串的分割 3. 使用STL的find函数以及字符串类的substr函数进行字符串分割strtok函数...

    坚持走下去,坚持下去!男子汉要能忍! —题记

    下面开始正题,C++中字符串的分割。
    1. 使用strtok函数进行字符串的分割
    2. 使用stringstream类配合getline函数进行字符串的分割
    3. 使用STL的find函数以及字符串类的substr函数进行字符串分割


    strtok函数介绍:
    头文件:#include <string.h>

    定义函数:char * strtok(char *s, const char *delim);

    函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

    返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

    void splitWithStrtok(const char* str, const char* delim, vector<string>& ret)
    {
        char* strcopy = new char[strlen(str) + 1];
        strcpy(strcopy, str);
        char *word = strtok(strcopy, delim);
        ret.push_back(word);
        while (word = strtok(nullptr, delim))
            ret.push_back(word);
        delete[] strcopy;
    }

    getline函数介绍:
    头文件:#include <string.h>

    函数原型:istream& getline (istream& is, string& str, char delim);

    函数说明:从is输入流中提取依次字符存存放到str中直到遇到delim字符或者换行符’\n’。

    void splitWithStringStream(const string& str, char delim, vector<string>& ret)
    {
        stringstream ss(str);
        string s;
        while (getline(ss, s, delim))
        {
            ret.push_back(s);
        }
    }

    最后一种方法就是便利字符串依次找分隔符,找到了就提取前一个分隔符到当前分隔符之间的子串。

    void splitWithSTLFind(const string& str, const string& delim, vector<string>& ret)
    {
        size_t front = 0;
        size_t back = str.find_first_of(delim, front);
        while (back != string::npos)
        {
            ret.push_back(str.substr(front, back - front));
            front = back + 1;
            back = str.find_first_of(delim, front);
        }
        if (back - front > 0)
        {
            ret.push_back(str.substr(front, back - front));
        }
    }

    最后,我们写一个函数测试一下吧!

    int main()
    {
        const char* str = "3.14,5.0,12,0";
        const char* delim = ",";
        vector<string> vetnum;
    
        splitWithStrtok(str, delim, vetnum);
        cout << "使用strtok函数进行字符串分割:" << '\n';
        for (auto iter = vetnum.begin(); iter != vetnum.end(); iter++)
            cout << *iter << '\n';
    
        vetnum.clear();
        splitWithSTLFind(str, delim, vetnum);
        cout << "使用STL的Find方法进行字符串分割:" << '\n';
        for (auto iter = vetnum.begin(); iter != vetnum.end(); iter++)
            cout << *iter << '\n';
    
        vetnum.clear();
        splitWithStringStream(str, delim[0], vetnum);
        cout << "使用stringstream类进行字符串分割:" << '\n';
        for (auto iter = vetnum.begin(); iter != vetnum.end(); iter++)
            cout << *iter << '\n';
        _CrtDumpMemoryLeaks();
        return 0;
    }

    运行结果:
    字符串分割

    展开全文
  • C语言字符串的分割

    千次阅读 2017-05-15 15:57:03
    C语言字符串的分割 /* 函数名: strtok 功 能: 查找由在第二个串中指定的分界符分隔开的单词 用 法: char *strtok(char *str1, char *str2); 程序例: */ #include #include int main(void) { char ...

    C语言字符串的分割


    /*
    函数名: strtok 
    功  能: 查找由在第二个串中指定的分界符分隔开的单词 
    用  法: char *strtok(char *str1, char *str2); 
    程序例: 
    */
    #include <string.h> 
    #include <stdio.h> 
    
    int main(void) 
    { 
       char input[16] = "abc,d"; 
       char *p; 
       p = strtok(input, ","); 
       while (p)  
       {
       	 printf("%s\n", p); 
         p = strtok(NULL, ","); 
       }
       return 0; 
    } 





           函数第一次调用需设置两个参数,strtok(str,",") str 需要分割的串 “,”根据,分割
    第一次分割的结果,返回串中第一个,之前的字串,也就是上面的程序第一次输出abc

           第二次调用该函数strtok(NULL,"."),第一个参数设置为NULL,第二个参数还是分割的依据
    结果返回分割依据后面的字串,即上面的程序输出d

    展开全文
  • 怎么能分割字符串并将他们分别保存到字符串数组里,c语言思路或者源代码
  • C++ 字符串的分割函数split 及 用法

    万次阅读 多人点赞 2018-06-14 14:21:47
    之前在C#中总用到字符串的分割,使用系统函数即可,比如:string a = "This is a test";string[] strArray = a.Split(' ');在C++中string没有直接的分割函数,可以利用C的stroke函数封装一个分割方法:...

    之前在C#中总用到字符串的分割,使用系统函数即可,比如:

    string a = "This is a test";

    string[] strArray = a.Split(' ');

    在C++中string没有直接的分割函数,可以利用C的stroke函数封装一个分割方法:

    vector<string> split(const string& str, const string& delim) {  
    	vector<string> res;  
    	if("" == str) return res;  
    	//先将要切割的字符串从string类型转换为char*类型  
    	char * strs = new char[str.length() + 1] ; //不要忘了  
    	strcpy(strs, str.c_str());   
    
    	char * d = new char[delim.length() + 1];  
    	strcpy(d, delim.c_str());  
    
    	char *p = strtok(strs, d);  
    	while(p) {  
    		string s = p; //分割得到的字符串转换为string类型  
    		res.push_back(s); //存入结果数组  
    		p = strtok(NULL, d);  
    	}  
    
    	return res;  
    } 

    要利用分割函数时调用如下:

    原string是其他C#项目的数据传输string

    	string str1 = "M135buffer.buffer,|M135data.data1,4.22424|M135data.data6,-0.0714111|M135data.data7,-0.53833|M135data.data11,145.569|M135data.data16,5.0354|M135data.data17,-112.906|M135data.data21,4.34509|M135data.data22,-0.115356|M135data.data23,0|M135data.data24,-14|M135data.data25,49521|M135data.data_lng,0|M135data.data26,-14|M135data.data27,49521|M135data.data_lati,0";
    	string str2 = "|This is a test!\n";
    
    	string str = str1+str2;
    	
    	printf(str.c_str());
    	
    	vector<string> AllStr = split(str,"|");
    	for (int i=0; i<AllStr.size();i++)
    	{
    		vector<string> tempStr = split(AllStr[i],",");
    		if(tempStr.size()>=2)
    		{
    			printf("Name:%s  Value:%s\n",tempStr[0].c_str(),tempStr[1].c_str());
    		}
    	}

    运行结果如下:


    注意:

    此split分割函数的第二个参数可以不只传一个char,可以传一个短string,但是函数会按照string中的每个char进行分割,

    类似C#的分割函数的传多个参数str.Split('|',',');

    所以:这个分割函数只能按单个char或者多个单独的char来分割,而不能按一个短string直接分割。

    展开全文
  • hive字符串的分割,截取,正则提取与替换。 一,字符串的分割。 split函数(分割字符串) 语法: split(string str, string pat) 返回值: array 说明: 按照pat字符串分割str,会返回分割后的字符串数组 举例: 1.基本...
  • PHP:字符串的分割与拼接

    千次阅读 2019-09-02 12:17:39
    字符串的分割与拼接: 1.explode(); ** ** 2.implode(); ** ** 3.join(); ** **
  • Java字符串的分割方法

    2015-07-14 21:41:48
    今天在工作中遇到了的一个关于String字符串的分割问题: String example1="a,b,c,d,,e "; 现在要将字符串以逗号分隔开,形成6个单独的字符串,开始想到的方法就是substring方法,但是太笨。于是去查找,搜索到...
  • 1、字符串的分割  split函数:将一个字符串分割为子字符串,并将结果作为一个字符串数组返回。  有两种调用方式:stringObj.split(regex) 或 stringObj.split(regex, limit),stringObj为要被分割的字符串,regex...
  • 字符串的分割 大小写转换 去除空格  
  • Linux C下实现字符串的分割提取

    千次阅读 2015-12-29 16:51:54
    今天在写linux socket编程的时候,遇见一个字符串的分割提取问题,像python这样的脚本语言能直接利用现成的split() 函数直接实现,然后自己找了下,原来linux 下的C语言也可用strtok() 函数来实现: 函数原型:  ...
  • C++ 中字符串的分割

    千次阅读 2011-10-11 13:16:43
    C++ 中字符串的分割 2008-05-14 22:18:02| 分类: MFC/VC(Visual C+ | 标签: |字号大中小 订阅   最近做一个后台是C++的项目,要解析字符串,很久没有写过C++代码了,自己写了一个类来解析,感觉
  • C#字符串的分割与截取

    千次阅读 2019-08-02 12:26:33
    使用单个分隔符分割字符串,这里输出结果即为 1 2 3 4 5 当使用‘,’号将其分割后,会去掉’,'这个符号,并且注意Split内类型为char而不是string,所以使用单引号而不是双引号。 static void Main(string[].....
  • Shell:字符串的分割截取

    千次阅读 2020-09-30 00:15:48
    在shell中如果遇到要截取字符串的情况,可以调用awk中的substr来实现,但事实上,原来shell中本身就支持这种用法。 一、截取字符变量的前n位(如:n=8),有5种方法如下: expr substr "$a" 1 8 echo $a|awk '{...
  • 按照特定分割符进行字符串的分割

    千次阅读 2015-09-25 16:07:32
    某string类型的字符串中存在特定类型的分割符,如空格,逗号等。将该字符串去除分隔符,整理输出 分析: char*型的字符串是可以直接使用strtok对该字符串进行分割,但是由于待处理的字符串是string类型,若是以...
  • 小弟是个菜鸟刚刚接触但是很喜欢Java希望大家帮帮忙!!! 现在有一个字符串“abcd efgh ijkl” 我想分解上面的字符串,遇到空格就把它弄成一个字符串得到3个字符串,值分别是"abcd" "efgh" "ijkl
  • 汉字等字符串的分割

    2010-02-20 15:50:00
    通过StringBuffer来进行字符串的分割 public class SeparateWord { /** * @param args */ public static void main1(String[] args) { // TODO Auto-generated method stub StringBuffer sb = new Stri
  • C++中对字符串的分割

    千次阅读 2018-08-16 12:28:30
    由于C++中没有split函数,因此,为了能够对获取的字符串进行按一定符号进行分割,在此学习了通过字符串的find()方法和substr()方法来实现split();具体描述如下: //涉及到string类的两个函数find和substr: // //...
  • 1函数所在的包: java.lang.string.split; 由于Java中自动引入java.lang包,...数字可以不写,数字的目的是限制分割字符串的数量。 3举例说明: 空格分割: import java.util.Scanner; public class Main { ...
  • C++进行输入字符串的分割

    千次阅读 2018-09-24 20:51:35
    常见编程时输入一个字符串,以逗号或者空格隔开,存到一个数组里面,利用getline进行分割,但是要加头文件&lt;sstream.h&gt; vector&lt;vector&lt;string&gt;ad; int k=3; while(k--) { string...
  • pandas的字符串的分割之str.split()

    千次阅读 2019-07-23 11:24:04
    pat : 字符串,默认使用空白分割,分列的依据,可以是空格,符号,字符串等等 n : 整型,默认为-1,既使用所有的分割点分割。就是当用于分列的依据符号在有多个的话需要指定分列的次数(不指定的话就会根据符号有几个...
  • c++对字符串的分割

    千次阅读 2019-04-02 11:21:21
    如:str="1_2_3_4" 调用vector<string> splitname=split_stri(str,"_"); 得到结果splitname=[”1“,”2“,”3“,”4“] static vector<... split_str(string str, string pattern) ......
  • 分割是通过Split方法来实现。其中有多种重载形式,...分割后返回值是一个字符串数组。 string mystr="100+30=130haha" string[] changeMystr = mystr.Split('+'); foreach(string outstr in changeMystr) Console.Wr
  • 1.分割字符串: 1.1不带参数时以空格进行分割:str.split() &gt;&gt;&gt; st='I love you' &gt;&gt;&gt; print(st.split()) ['I', 'love', 'you'] 1.2带参数分割(注意观察st1,st2,st3...
  • python字符串的分割和组合

    千次阅读 2018-10-21 13:29:41
    split和join函数使用1、split分割交互模式下,将网站按照'.'分割开,分成一个列表交互模式下,将路径分割开2、join连接交互模式下,连接网址交互模式下,连接路径 1、split分割 交互模式下,将网站按照’.'分割开,...
  • 用STL进行字符串的分割

    千次阅读 2016-06-03 18:03:07
    涉及到string类两个函数find和substr: ...功能:查找子字符串第一次出现位置。 参数说明:str为子字符串,pos为初始查找位置。 返回值:找到话返回第一次出现位置,否则返回string::npos 2、substr函数
  • int SplitString(const CString str, char split, CStringArray &amp;strArray) { strArray.RemoveAll(); CString strTemp = str; int iIndex = 0; while (1) { iIndex =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,486
精华内容 8,994
关键字:

字符串的分割