精华内容
下载资源
问答
  • 去除字符串首尾多余的空格

    千次阅读 2020-04-01 12:18:28
    用户输入一个字符串首尾多余的空格,编写程序来去除这些多余的空格。要求必须使用指针来完成本题。 输入格式: 一个首尾有多余空格字符串。为了便于标识出尾部的空格,在字符串尾部额外添加了个 #号表示字符串...

    题目内容:

    用户输入一个字符串,首尾有多余的空格,编写程序来去除这些多余的空格。要求必须使用指针来完成本题。

    输入格式:

    一个首尾有多余空格字符串。为了便于标识出尾部的空格,在字符串尾部额外添加了个 #号表示字符串结束。字符串内部保证不会出现 #号。

    输出格式:

    去除空格后的字符串,同样在在字符串尾部额外添加了个 #号表示字符串结束。

    输入样例:

         my score    #
    

    输出样例:

     my score#
    
    #include<iostream>
    using namespace std;
    
    char* deletespace(char *p){
    	int tail = 0;//自第一个不为0的字符开始到#之前的字符的长度
    	int tailspace = 0;//末尾空格数 
    	
    	while(*p == ' ') p ++;//找到首个不为空格的位置
    	char *mask = p;//标记下删去空格后新串的起始位置 
    
    	while(*p!='\0'){
    		tail ++;
    		p++;
    	} 
    	tail = tail - 1;//找到最后一个空格的位置
    	p = p - 2;
    	
    	while(*p == ' '){
    		tailspace ++;
    		p--; 
    	} 
    	tail = tail - tailspace;//找到最后一个不是空格的位置
    	
    	int length = tail +2;//删去空格后串的长度
    	char *newstr = new char[length];//申请新串的存储空间 
    	for( int i=0; i<tail; i++){
    		//从标记点开始到最后一个不是空格的位置逐个赋给新串 
    		newstr[i]  = *(mask++);  
    	}
    	*(newstr+length-2) = '#';
    	*(newstr+length-1) = '\0';
    	
    	return newstr; 
    }
    int main(){
    	char str[100];
    	cin.getline(str,99);
    	cout<<deletespace(str);
    
    	return 0;
    }
    
    展开全文
  • 用户输入一个字符串首尾多余的空格,编写程序来去除这些多余的空格。要求必须使用指针来完成本题。 输入格式: 一个首尾有多余空格字符串。为了便于标识出尾部的空格,在字符串尾部额外添加了个#号表示字符...

    题目内容:

    用户输入一个字符串,首尾有多余的空格,编写程序来去除这些多余的空格。要求必须使用指针来完成本题。


    输入格式:

    一个首尾有多余空格字符串。为了便于标识出尾部的空格,在字符串尾部额外添加了个#号表示字符串结束。字符串内部保证不会出现#号。


    输出格式:

    去除空格后的字符串,同样在在字符串尾部额外添加了个#号表示字符串结束。


    输入样例:

      my score    #


    输出样例:

    my score#


    #include <iostream>
    #include <string>
    using namespace std;
    string Delete(string &st)
    {
    	st.erase(0, st.find_first_not_of(" "));// 去除字符串首部空格
    	st.erase(st.find_last_not_of(" ") + 1);// 去除字符串尾部空格
    	return st;
    }
    int main()
    {
    	string str;
    	getline(cin, str);
            str.erase(str.find_last_not_of("#") + 1);// 去除字符串中字符'#'
    	
    	cout<<Delete(str);
    	cout << '#';	
    	return 0;
    }


    展开全文
  • 为了使字符串保持紧凑,我们有时候需要去掉首尾的空格,python提供了一下三种方法完成去除空格操作,关键词是strip,有脱衣舞的意思,表示剥离,在这里其实表示的是剥离了字符串首尾的空格符号。 rstrip()方法 ...

    为了使字符串保持紧凑,我们有时候需要去掉首尾的空格,python提供了一下三种方法完成去除空格操作,关键词是strip,有脱衣舞的意思,表示剥离,在这里其实表示的是剥离了字符串首尾的空格符号。

    1. rstrip()方法
    2. lstrip()方法
    3. strip()方法

    需要注意的是,这三种方法不改变原来的字符串的值,所以如果需要保留,则需赋值给新的变量。

    示例代码:

    message="wu chenwei "
    print(message)
    print(len(message))
    message_with_rspace_removed=message.rstrip()
    print(message_with_rspace_removed)
    print(len(message_with_rspace_removed))
    print(message)
    print(len(message))
    
    message=" wu chenwei"
    print(message)
    print(len(message))
    message_with_lspace_removed=message.lstrip()
    print(message_with_lspace_removed)
    print(len(message_with_lspace_removed))
    
    message=" wu chenwei "
    print(message)
    print(len(message))
    message_with_space_removed=message.strip()
    print(message_with_space_removed)
    print(len(message_with_space_removed))
    

    输出结果:

    wu chenwei 
    11
    wu chenwei
    10
    wu chenwei 
    11
     wu chenwei
    11
    wu chenwei
    10
     wu chenwei 
    12
    wu chenwei
    10```
    
    
    展开全文
  • 去除字符串首尾空格和特殊字符用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符。在PHP中提供了trim()函数去除字符串...

    去除字符串首尾空格和特殊字符

    用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符。在PHP中提供了trim()函数去除字符串左右两边的空格和特殊字符、ltrim()函数去除字符串左边的空格和特殊字符、rtrim()函数去除字符串中右边的空格和特殊字符。

    1.trim()函数

    trim()函数用于去除字符串开始位置以及结束位置的空格,并返回去掉空格后的字符串。

    语法格式如下:

    string trim(string str [,string charlist]);

    trim()函数的参数str是要操作的字符串对象,参数charlist为可选参数,指定需要从指定的字符串中删除哪些字符,如果不设置该参数,则所有的可选字符都将被删除。

    trim()函数的参数charlist的可选值如下表所示。

    参数值

    说明

    \0

    NULL,空值

    \t

    tab,制表符

    \n

    换行符

    \x0B

    垂直制表符

    \r

    回车符

    " "

    空格

    注意:除了以上默认的过滤字符列表外,也可以在charlist参数中提供要过滤的特殊字符。

    2.Itrim()函数

    Itrim()函数用于去除字符串左边的空格或者指定字符串。

    语法格式如下:

    string ltrim( string str [,string charlist]);

    转义、还原字符串数据

    字符串转义、还原的方法有两种:一种是手动转义、还原字符串数据,另一种是自动转义、还原字符串数据。下面分别对这两种方法进行详细讲解。

    1.手动转义、还原字符串数据

    字符串可以用单引号(‘)、双引号(“”)、定界符({})3种方法定义。而指定一个简单字符串的最简单的方法是用单引号(‘)括起来。当使用字符串时,很可能在该串中存在这几种符号与PHP脚本混淆的字符,因此必须要做转义语句。这就要在它的前面使用转义符号“\”。

    “\”是一个转义符,紧跟在“\”后面的第一个字符将变得没有意义或有特殊意义。如‘是字符串的定界符,写为\’时就失去了定界符的意义,变为了普通的单引号‘。读者可以通过echo ’\‘’;输出一个单引号‘,同时转义字符“\”也不会显示。

    技巧1:如果要在字符串中表示单引号,则需要用反斜线(\)进行转义。例如,要表示字符串“I‘m”,则需要写成“I\’m”。

    技巧2 :对于简单的字符串建议采用手动方法进行字符串转义,而对于数据量较大的字符串,建议采用自动转义函数实现字符串的转义。

    说明:手动转义字符串可应用addcslashes()函数进行字符串还原,其具体的实现方法将在下面进行介绍。

    2.自动转义、还原字符串数据

    自动转义、还原字符串数据可以应用PHP提供的addslashes()函数和stripslashes()函数实现。

    1.addslashes()函数

    addslashes()函数用来为字符串str加入斜线“\”。

    语法格式如下:

    string addslashes (string str)

    2.stripslashes()函数

    stripslashes()函数用来将使用addslashes()函数转义后的字符串str返回原样。

    语法格式如下:

    string stripslashes(string str);

    技巧:所有数据在插入数据库之前,有必要应用addslashes()函数进行字符串转义,以免特殊字符未经转义在插入数据库时出现错误。另外,对于使用addslashes()函数实现的自动转义字符串可以使用stripcslashes()函数进行还原,但数据在插入数据库之前必须再次进行转义。

    以上两个函数实现了对指定字符串进行自动转义和还原。除了上面介绍的方法外,还可以对要转义、还原的字符串进行一定范围的限制,通过使用addcslashes()函数和stripcslashes()函数实现对指定范围内的字符串进行自动转义、还原。下面分别对两个函数进行详细介绍。

    3.addcslashes()函数

    实现转义字符串中的字符,即在指定的字符charlist前加上反斜线。

    语法格式如下:

    string addcslashes (string str, string charlist)

    参数说明:

    参数str为将要被操作的字符串,参数charlist指定在字符串中的哪些字符前加上反斜线“\”,如果参数charlist中包含\n、\r等字符,将以C语言风格转换,而其他非字母数字且ASCII码低于32以及高于126的字符均转换成八进制表示。

    注意:在定义参数charlist的范围时,需要明确在开始和结束的范围内的字符。

    4.stripcslashes()函数

    stripcslashes()函数用来将应用addcslashes()函数转义的字符串str还原。

    语法格式如下:

    string stripcslashes (string str)

    获取字符串的长度使用的是strlen()函数,下面重点讲解strlen()函数的语法及其应用。

    strlen()函数主要用于获取指定字符串str的长度。

    语法格式如下:

    int strlen(string str)

    strlen()函数在获取字符串长度的同时,也可以用来检测字符串的长度。

    比较字符串——按字节进行字符串的比较

    1.按字节进行字符串的比较

    按字节进行字符串比较的方法有两种,分别是strcmp()和strcasecmp()函数,通过这两个函数即可实现对字符串进行按字节的比较。这两种函数的区别是strcmp()函数区分字符的大小写,而strcasecmp()函数不区分字符的大小写。

    strcmp()函数的语法格式如下:

    int strcmp ( string str1, string str2)

    参数str1和参数str2指定要比较的两个字符串。如果相等则返回0;如果参数str1大于参数str2则返回值大于0;如果参数str1小于参数str2则返回值小于0。

    2.按自然排序法进行字符串的比较

    在PHP中,按照自然排序法进行字符串的比较是通过strnatcmp()函数来实现的。自然排序法比较的是字符串中的数字部分,将字符串中的数字按照大小进行排序。

    语法格式如下:

    int strnatcmp ( string str1, string str2)

    如果字符串相等则返回0,如果参数str1大于参数str2则返回值大于0;如果参数str1小于参数str2则返回值小于0。本函数区分字母大小写。

    注意:在自然运算法则中,2比10小,而在计算机序列中,10比2小,因为“10”中的第一个数字是“1”,它小于2。

    检索字符串

    1.使用strstr()函数查找指定的关键字

    获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。

    语法格式如下:

    string strstr ( string haystack, string needle)

    参数说明:

    haystack必要参数,指定从哪个字符串中进行搜索needle必要参数,指定搜索的对象。如果该参数是一个数值,那么将搜索与这个数值的ASCII值相匹配的字符

    2.使用substr_count()函数检索子串出现的次数获取指定字符在字符串中出现的次数。

    语法格式如下:

    int substr_count(string haystack,string needle)参数haystack是指定的字符串,参数needle为指定的字符.

    替换字符串

    通过字符串的替换技术可以实现对指定字符串中的指定字符进行替换。字符串的替换技术可以通过以下两个函数实现:str_ireplace()函数和substr_replace()函数。

    1.str_ireplace()函数

    使用新的子字符串(子串)替换原始字符串中被指定要替换的字符串语法格式如下:

    mixed str_ireplace ( mixed search, mixed replace, mixed

    subject [, int &count])

    将所有在参数subject中出现的参数search以参数replace取代,参数&count表示取代字符串执行的次数。本函数区分大小写。参数说明:search必要参数,指定需要查找的字符串;replace必要参数,指定替换的值;subject必要参数,指定查找的范围;count可选参数,获取执行替换的数量

    格式化字符串

    在PHP中,字符串的格式化方式有多种,按照格式化的类型可以分为字符串的格式化和数字的格式化,数字的格式化最为常用,本节将重点讲解数字格式化number_format()函数。number_format()函数用来将数字字符串格式化。

    语法格式如下:

    string number_format(float number,[int

    num_decimal_places],[string dec_seperator],string

    thousands_ seperator)

    number_format()函数可以有一个、两个或是4个参数,但不能是3个参数。如果只有一个参数number,number格式化后会舍去小数点后的值,且每一千就会以逗号(,)来隔开;如果有两个参数,number格式化后会到小数点第num_decimal_places位,且每一千就会以逗号来隔开;如果有4个参数number格式化后会到小数点第num_decimal_places位,dec_seperator用来替代小数点(.),thousands_seperator用来替代每一千隔开的逗号(,)

    分割字符串

    字符串的分割是通过explode()函数实现的。explode()函数按照指定的规则对一个字符串进行分割,返回值为数组。

    语法格式如下:

    array explode(string separator,string str,[int limit])

    合成字符串

    implode()函数可以将数组的内容组合成一个新字符串。

    语法格式如下:

    string implode(string glue, array pieces)

    参数说明:

    参数glue是字符串类型,指定分隔符;参数pieces是数组类型,指定要被合并的数组

    取得变量的类型。

    变量转成整数类型。

    变量转成倍浮点数类型。

    判断变量是否已配置。

    判断变量类型是否为数组类型。

    判断变量类型是否为倍浮点数类型。

    判断变量类型是否为浮点数类型。

    判断变量类型是否为整数类型。

    判断变量类型是否为长整数类型。

    判断变量类型是否为长整数类型。

    判断变量类型是否为类类型。

    判断变量类型是否为实数类型。

    判断变量类型是否为字符串类型。

    判断变量是否已配置。

    配置变量类型。

    将变量转成字符串类型。

    删除变量。

    展开全文
  • C++去除字符串首尾和串中多余空格

    千次阅读 2016-08-20 09:23:52
    去除字符串首尾空格,以及字符串中多余空格,如:s = “ Hello word ! ”处理后变为:result = “Hello world!” 二、思路描述 先去掉字符串首尾空格,然后去除串中多余空格(词与词之间保留一个空格)。 三、...
  • 先通过递归数出字符串中连续空格的个数。2.将有连续空格的位置去除多余空格。3.判断首尾是否有空格。第一步,判断当前位置是否是空格以及连续空格的个数,这里使用一个递归方法比较简单。代码如下:public static ...
  • 1.先通过递归数出字符串中连续空格的个数。 2.将有连续空格的位置去除多余空格。 3.判断首尾是否有空格。 第一步,判断当前位置是否是空格以及连续空格的个数,这里使用一个递归方法比较简单。代码如下: ...
  • Python去除字符串两端空格的方法目的获得一个首尾不含多余空格的字符串方法可以使用字符串以下方法处理:string.lstrip(s[, chars])Return a copy of the string with leading characters removed. If chars is ...
  • // meituanmoni.cpp : 定义控制台应用程序入口点。 // #include "stdafx.h" #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //char *sourceString = " liu shuan peng "; ...
  • 目的获得一个首尾不含多余空格的字符串方法可以使用字符串的以下方法处理:string.lstrip(s[, chars])Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace ...
  • 去除首尾的空白和空格可以直接使用jquery的trim方法。 但是trim方法不能去除首尾的其它字符。 我的字符串是通过逗号连接起来的。删除其中一个元素的时候就有可能在首尾产生多余的逗号。这种情况只能使用正则表达式...
  • 代码中字符串使用了replaceAll()方法,去除了所有空格(其中包括:首尾空格、中间空格)遂整理下java关于字符串去除空格的方法。1、方法分类str.trim(); //去掉首尾空格str.replace(" ",""); //去除所有空格,包括首尾...
  • 这篇文章主要介绍了Python去除字符串两端空格的方法,本文主要讲解了string.lstrip、string.rstrip、string.strip等函数运用,需要朋友可以参考下目的获得一个首尾不含多余空格的字符串方法可以使用字符串以下...
  • 目的获得一个首尾不含多余空格的字符串方法可以使用字符串的以下方法处理:string.lstrip(s[, chars])Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace ...
  • 目的获得一个首尾不含多余空格的字符串方法可以使用字符串的以下方法处理:string.lstrip(s[, chars])Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace ...
  • 输入一个由若干单词组成的字符串(长度小于等于2000),然后删除字符串的首尾空格,如果串中有多于一个以上空格,则只保留一个空格, 同时,请将字符串中单词首字母转换为大写,如果本身是大写,不要转换。 ...
  • 目的获得一个首尾不含多余空格的字符串方法可以使用字符串的以下方法处理:string.lstrip(s[, chars])Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace ...
  •  获得一个首尾不含多余空格的字符串 方法 可以使用字符串的以下方法处理: string.lstrip(s[, chars]) Return a copy of the string with leading characters removed. If chars is omitted or None, whitespace ...

空空如也

空空如也

1 2 3 4
收藏数 61
精华内容 24
关键字:

去除字符串首尾多余的空格