精华内容
下载资源
问答
  • (3)求字符数组内字符串长度 (4)个数组内容比较 类似于字符串处理函数strcat 、 strcpy 、 strlen、strcmp作用 。 (方法1--用指针做形参) */ #include using namespace std; char *str_

     

    (1)用指针作为函数形参

    /*
    编写4个函数分别实现
    (1)两个字符数组内容拼接
    (2)两个字符数组内容拷贝
    (3)求字符数组内字符串长度
    (4)两个数组内容的比较
    类似于字符串处理函数strcat 、 strcpy 、 strlen、strcmp的作用 。
    (方法1--用指针做形参)
    */
    #include <iostream>
    using namespace std;
    char *str_cat(char * str1,char * str2); //两个字符数组内容拼接
    char *str_cpy(char * str1,char * str2); //两个字符数组内容拷贝
    int str_len(char * str1);  //获取字符指针所指字符串长度
    int str_cmp(char * str1,char * str2); //两个数组内容的比较
    
    int main()
    { 
      char str1[50]; 
      char str2[25];
    
      cout<<"请输入str1数组中要存放的字符串:";
      gets(str1);  //输入字符串
      cout<<"请输入str2数组中要存放的字符串:";
      gets(str2);  //输入字符串
    
      char *p1=str1; //字符指针p1指向字符数组str1的第一个元素
      char *p2=str2; //字符指针p2指向字符数组str2的第一个元素
    
      cout<<"\n数组str1中字符串内容为"<<p1<<endl;
      cout<<"数组str1中字符串长度为"<<str_len(p1)<<endl<<endl; //输出字符串长度
    
      cout<<"数组str2中字符串内容为"<<p2<<endl;
      cout<<"数组str2中字符串长度为"<<str_len(p2)<<endl<<endl;//输出字符串长度
    
    
      cout<<"数组str1和数组str2中内容比较结果:"<<endl;
    
      int result=str_cmp(p1,p2); //字符串内容比较
    
      if(result==0)
    	  cout<<p1<<"相等"<<p2<<endl;
      else if(result>0)
    	  cout<<p1<<"大于"<<p2<<endl;
          else 
    	  cout<<p1<<"小于"<<p2<<endl;
      
      cout<<"\n将数组str2中的内容拷贝到数组str1中后"<<endl;
      str_cpy(p1,p2); // str_cpy(str1,str2);  字符串拷贝
      cout<<"数组str1中字符串内容为"<<p1<<endl; 
      cout<<"数组str2中字符串内容为"<<p2<<endl<<endl;
    
      cout<<"\n将数组str2中的内容拼接到数组str1中后"<<endl;
      str_cat(p1,p2); // str_cat(str1,str2);   字符串拼接
      cout<<"数组str1中字符串内容为"<<p1<<endl; 
      cout<<"数组str2中字符串内容为"<<p2<<endl<<endl;
    
      return 0;
    }
    
    //字符串拼接函数,将str2所指向的字符串拼接到str1所指字符串的后面,返回str1(地址)
    char *str_cat(char * str1,char * str2) 
    {
    	char *p1=str1,*p2=str2; //因为要返回串1地址,需要记录串1地址
    	while(*p1!='\0') //地位串1的终止字符'\0'的位置
    		p1++;
    	while(*p2!='\0') //从串1的'\0'位置开始拷贝串2的内容
    	{
    	   *p1=*p2;
    	   p1++;
    	   p2++;	
    	}
    	*p1='\0';    //将串1最后加上'\0'作为串终止字符
        return str1; //返回串1地址(str1)
    }
    
    char *str_cpy(char * str1,char * str2) //将指针str2所指字符串内容复制到str1所指的数组中,返回str1(地址)
    {   char *p1=str1,*p2=str2;
    	while(*p2!='\0')  //对应位置元素拷贝
    	{*p1=*p2; 
    	 p1++;
    	 p2++;
    	}
        *p1='\0';   //将串1最后加上'\0'作为串终止字符
        return str1;  //返回串1地址(str1)
    }
    
    int str_len(char * str1)//获取字符指针所指字符串长度,返回串的长度
    {
     int len=0;
     while((*str1)!='\0') //统计串中第一个'\0'之前的字符个数
     { len++;
       str1++;
     }
     return len;
    }
    
    int str_cmp(char * str1,char * str2)//两个数组内容的比较,返回两串中对应位置第一个不同字符之间的差值
    {
      int result;
      while((*str1)==(*str2)&&(*str1)!='\0') //找到第一个对应位置不相同的字符
      {
        str1++;
    	str2++;
      }
      result=(*str1)-(*str2);  //第一个对应位置不相同的字符的差值
      return result;  
    }


     

     

    (2)方法2--用数组做函数形参

    /*
    编写4个函数分别实现
    (1)两个字符数组内容拼接
    (2)两个字符数组内容拷贝
    (3)求字符数组内字符串长度
    (4)两个数组内容的比较
    类似于字符串处理函数strcat 、 strcpy 、 strlen、strcmp的作用 。
    (方法2--用数组做形参)
    */
    #include <iostream>
    using namespace std;
    char *str_cat(char str1[],char str2[]); //两个字符数组内容拼接
    char *str_cpy(char str1[],char str2[]); //两个字符数组内容拷贝
    int str_len(char str1[]);  //获取字符数组中字符串长度
    int str_cmp(char str1[],char str2[]); //两个数组内容的比较
    
    int main()
    { 
      char str1[50]; 
      char str2[25];
    
      cout<<"请输入str1数组中要存放的字符串:";
      gets(str1);  //输入字符串
      cout<<"请输入str2数组中要存放的字符串:";
      gets(str2);  //输入字符串
    
      //char *p1=str1; //字符指针p1指向字符数组str1的第一个元素
      //char *p2=str2; //字符指针p2指向字符数组str2的第一个元素
    
      cout<<"\n数组str1中字符串内容为"<<str1<<endl;
      cout<<"数组str1中字符串长度为"<<str_len(str1)<<endl<<endl; //输出字符串长度
    
      cout<<"数组str2中字符串内容为"<<str2<<endl;
      cout<<"数组str2中字符串长度为"<<str_len(str2)<<endl<<endl;//输出字符串长度
    
    
      cout<<"数组str1和数组str2中内容比较结果:"<<endl;
    
      int result=str_cmp(str1,str2); //字符串内容比较
    
      if(result==0)
    	  cout<<str1<<"相等"<<str2<<endl;
      else if(result>0)
    	  cout<<str1<<"大于"<<str2<<endl;
          else 
    	  cout<<str1<<"小于"<<str2<<endl;
      
      cout<<"\n将数组str2中的内容拷贝到数组str1中后"<<endl;
      str_cpy(str1,str2);  //字符串拷贝
      cout<<"数组str1中字符串内容为"<<str1<<endl; 
      cout<<"数组str2中字符串内容为"<<str2<<endl<<endl;
    
      cout<<"\n将数组str2中的内容拼接到数组str1中后"<<endl;
      str_cat(str1,str2);   //字符串拼接
      cout<<"数组str1中字符串内容为"<<str1<<endl; 
      cout<<"数组str2中字符串内容为"<<str2<<endl<<endl;
    
      return 0;
    }
    
    //字符串拼接函数,将str2中字符串拼接到str1中字符串的后面,返回str1(地址)
    char *str_cat(char str1[],char str2[]) 
    {
    	int i=0,j=0;
    	while(str1[i]!='\0') //地位串1的终止字符'\0'的位置
    		i++;
    	while(str2[j]!='\0') //从串1的'\0'位置开始拷贝串2的内容
    	{
    	   str1[i]=str2[j];
    	   i++;
    	   j++;	
    	}
    	str1[i]='\0';    //将串1最后加上'\0'作为串终止字符
        return str1; //返回串1地址(str1)
    }
    
    char *str_cpy(char str1[],char str2[]) //将str2中字符串内容复制到str1数组中,返回str1(地址)
    {  	int i=0,j=0;
        while(str2[j]!='\0')
    	{
    	   str1[i]=str2[j];
    	   i++;
    	   j++;	
    	}
    	str1[i]='\0';    //将串1最后加上'\0'作为串终止字符
        return str1;  //返回串1地址(str1)
    }
    
    int str_len(char str1[])//获取字符串长度,返回串的长度
    {
     int len=0,i=0;
     while(str1[i]!='\0') //统计串中第一个'\0'之前的字符个数
     { len++;
       i++;
     }
     return len;
    }
    
    int str_cmp(char str1[],char str2[])//两个数组内容的比较,返回两串中对应位置第一个不同字符之间的差值
    {
      int result;
      int i=0;
      while(str1[i]==str2[i]&&str1[i]!='\0') //找到第一个对应位置不相同的字符
          i++;
      result=str1[i]-str2[i];  //第一个对应位置不相同的字符的差值
      return result;  
    }


     

    展开全文
  • 主要有以下几:string.ToCharArray() (把string获得一个可写的字符数组)... string.PadRight()(在字符串左右端添加指定长度的指定字符)指定字符通常用定义一个新的字符数组来统一实现string.Split();(把字

    主要有以下几种:

    string[i]所获得的元素是只读的。

    string.ToCharArray() (把string获得一个可写的字符数组)

    string.Replace(old, new)(将字符串中指定字符或者子字符串做相应的替换)

    string.ToLower(); string.ToUpper()(转换字符串大小写)

    string.Trim(); string.TrimStart(); string.TrimEnd()(剪切字符串左右两端的指定字符)

    string.PadLeft(); string.PadRight()(在字符串左右两端添加指定长度的指定字符)

    指定字符通常用定义一个新的字符数组来统一实现

     

    string.Split();(把字符串转换为一个字符串数组)

     

    具体的分析如代码所示:

    展开全文
  • 两种方法分割python多空格字符串

    万次阅读 多人点赞 2018-08-28 14:27:48
    这篇博客需要处理的问题就是:一个字符串被多个不同长度的空白分割,我需要把空格去掉,留下有用的信息形成一个列表 如:"aa bbbbb ccc d" ----》['aa', 'bbbbb', 'ccc', 'd'] 做法: 1.str.split() 2...

    总述:

    这篇博客需要处理的问题就是:一个字符串被多个不同长度的空白分割,我需要把空格去掉,留下有用的信息形成一个列表

    如:"aa bbbbb ccc d" ----》['aa', 'bbbbb', 'ccc', 'd']

    做法:

    1.str.split()

    2.filter(None,str.split(" "))

    直接用str.split(" ")是不行的,他只会分割一个空格,如下

    def test_filter():
        str = "aa   bbbbb         ccc  d"
        str_list = str.split(" ")
        print str_list

    结果:

    第一种做法:

    实际上,split()函数默认可以按空格分割,并且把结果中的空字符串删除掉,留下有用信息

    def test_filter():
        str = "aa   bbbbb         ccc  d"
        str_list = str.split()
        print str_list

    结果:

    第二种做法:

    可以用filter函数对split(“ ”)进行过滤

    def test_filter():
        str = "aa   bbbbb         ccc  d"
        str_list = filter(None,str.split(" "))
        print str_list

    结果:

    filter第一个参数是None的时候,返回第二个参数中非空的值。

    可能第一种做法更方便一些。

    展开全文
  • 方法一:用c#程序处理。 附代码 View Code /// <summary>... /// 返回某字符串的混编长度 /// </summary> /// <param name="sourceStr">源字符串</param> /// <r...

    方法一:用c#程序处理。

    附代码

    View Code
            /// <summary>
            /// 返回某字符串的混编长度
            /// </summary>
            /// <param name="sourceStr">源字符串</param>
            /// <returns></returns>
            public static int MixLength(this string sourceStr)
            {
                int mixLength = sourceStr.Length;
                for (int i = 0; i < sourceStr.Length; i++)
                {
                    byte[] bytes = Encoding.Default.GetBytes(sourceStr.Substring(i, 1));
                    if (bytes.Length > 1)
                    {
                        mixLength++;
                    }
                }
                return mixLength;
            }
    
            /// <summary>
            /// 截取相当于mixLength英文字符长度的中英文混合字符串
            /// </summary>
            /// <param name="sourceStr">源字符串</param>
            /// <param name="mixLength">要截取的长度,中文算两个长度单位</param>
            /// <returns></returns>
            public static string MixSubstring(this string sourceStr, int mixLength)
            {
                int length = mixLength;
                bool flag = false;//标记length是否减1
                int i = 0;
                while (i < length)
                {
                    if (flag)
                    {
                        length--;
                        flag = false;//重置
                    }
    
                    byte[] bytes = Encoding.Default.GetBytes(sourceStr.Substring(i, 1));
                    if (bytes.Length > 1)//是中文,则在下次减一
                    {
                        flag = true;
                    }
                    i++;
                }
                return sourceStr.Substring(0, length);
            } 

    缺点:在真正显示的界面上中文字符的长度并非英文字符的两倍。

    方法二:用css控制样式。

    如果是控制表格中td的内容显示省略,则首先给表格加样式 table-layout:fixed;

    然后给相应的td加上样式:

     

        .ellipsis
        {
            width:200px; //需要控制显示的长度
            white-space: nowrap;
            word-break: keep-all;
            overflow: hidden;
            text-overflow: ellipsis;
        }

     

    如果是span或者div,则直接应用该样式即可。

    缺点:不同浏览器之间有少许差别,但相比起第一种方法很精确。

    转载于:https://www.cnblogs.com/Benjamin/archive/2013/01/04/2844654.html

    展开全文
  • 这篇博客需要处理的问题就是:一个字符串被多个不同长度的空白分割,我需要把空格去掉,留下有用的信息形成一个列表 如:"aa bbbbb ccc d" ----》['aa', 'bbbbb', 'ccc', 'd'] 做法: 1.str.split() 2.filter...
  • c++中的字符串处理

    2019-10-21 20:28:52
    常用的存储字符串的两种方法:char*类型和string...已知字符串长度时,可以用char* sentence = new char[length]; 的方式创建字符数组。 长度未知时,用char* sentence = new char(); 的方法创建 2.char*类型和st...
  • flex String 字符串处理方法

    千次阅读 2010-12-07 08:38:00
    一个字符串由零个或零个以上字符组成.AS支持Unicode和ASCII两种文本编码格式.String可以通过直接赋值和new关键字两种方式创建.由单引号或双引号表示,必要时候应使用转义字符’/’.Public Propertieslength:int...
  • 字符串匹配存在问题Python中在一个长字符串中查找子串是否存在可以用两种方法:一是strfind()函数,find()函数只返回子串匹配到起始位置,若没有,则返回-1;二是re模块findall函数,可以返回所有匹配到...
  • 图1使用正是该方法------用法substr(开始下标,要截取字符串的长度); 2.处理时间问题。 3.sessionStorage说明; HTML5WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话
  • 1.strlen strlen返回是一个类型为size_t值,它是一个无符号整数类型, ...1.dst字符串容量小于src字符串容量,即空间不足,strcpy函数无法判断目标字符串容量的长度,因此无法处理这种情况,多余字符
  • 为了防止文章标题过长超过容器(td,div)宽度而显示成多行,我们通常要对标题进行处理让其显示在一行,通常使用的方法两种:一种方法是在客户端用CSS设置容器的overflow属性;另一种方法则是在服务器端用left函数对...
  • Java中英文混合截取字符串的问题解决方法  Java默认获取一个字符的长度(不管是否是中英文)都是作为一个字节来处理,但是插入数据库(Oracle)时中文却占了2个字节, 这点搞得人很苦恼。在网上搜索时,...
  • 一、简介 Bash Shell提供了很多字符串和文件处理的命令。如awk、expr、grep、sed等命令,还有文件排序...(1)计算字符串长度 字符串名为string,可以使用命令${#string}或expr length $string两种方法来计算字...
  • 在做机器学习的时候,遇到这样一个数据集… 一共399行10列, 1-9列是用不定长度的...以上这篇python处理两种分隔符的数据集方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  •  Python对字符串的处理内置了很多高效函数,非常方便功能很强大。 "hello world" 字符串常用功能: 连接和合并 + join 移除空白 strip 分割 split 长度 len() 索引 str[index] 切片 str[0,7]...
  • 单个字符按照长度为1的字符串处理,这对于曾是OIER我来说有点不适应啊。字符串的表示方法最常用就是用一对双引号或一对单引号把一串字符括起来,像这样'Hello world!'或"Hello world!"。这两种表示方法可以说...
  • Java字符串String

    2019-11-08 16:29:22
    字符串初识 字符串在C++ & Java中有着截然不同的处理办法,这与其存储方式有关,在C++中字符串类似数组,但在Java中一旦输入字符串...字符串中元素访问是允许,一般可使用两种方法访问字符串单一字符:...
  • Java默认获取一个字符的长度(不管是否是中英文)都是作为一个字节来处理,但是插入数据库(Oracle)时中文却占了2个字节, 这点搞得人很苦恼。在网上搜索时,找到两种解决方案,这里进行了修改,代码如下:...
  • 字符串类型及操作

    2019-10-10 21:43:35
    1.字符串的两种表示方法 单行字符串:由一对单引号或双引号表示 多行字符串:右一对三引号或三双引号表示 2.切片索引不多说了 3.字符串操作符 x+y:连接两个字符串 n*x:复制n次字符串x x in s:如果x是s...
  • 如果每次处理字符串时,都编写相应代码,那么开发效率会非常低下,为此Python提供了一些内置函数用于处理字符串常见操作。 1.大小写转换 Python中涉及字符串大小写转换函数,如表所示。 上述两种方法都返回一...
  • 通常来说,解决这个问题可以有两种方法: 一是先分配一个固定长度的缓冲区,把输入的字符串先存储到这个缓冲区,然后再根据其长度动态分配内存。这个方法缺点是无论分配多大的缓冲区,都无法完全满足要求。太大浪费...
  • 为了防止文章标题过长超过容器(td,div)宽度而显示成多行,我们通常要对标题进行处理让其显示在一行,通常使用的方法两种:一种方法是在客户端用CSS设置容器的overflow属性;另一种方法则是在服务器端用left函数对...
  • 如果每次处理字符串时,都编写相应代码,那么开发效率会非常低下,为此Python提供了一些内置函数用于处理字符串常见操作。 Python中涉及字符串大小写转换函数,如表所示。 上述两种方法都返回一个新字符串,...
  • C语言中字符数组初始化种方法

    万次阅读 多人点赞 2019-04-14 16:39:30
    所以字符串两种声明方式,一种是字符数组,一种是字符指针。 1.1 直接逐个初始化字符数组:字符数组初始化,最容易理解方式就是逐个字符赋给数组中各元素。 char strr[] = {'I',' ','a','m',' ','h','a','p','...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 303
精华内容 121
关键字:

两种处理字符串长度的方法