" abc ".strip() # returns "abc" " xyz ".lstrip() # returns "xyz " " xyz ".rstrip() # returns " xyz" " x y z ".replace(' ', '') # returns "xyz"
题目
将字符串中的空格原地删除(就是删除空格),但不能申请新的buffer,同时要保证O(n)级的时间复杂度。
输入
dhfaj 231 asf
输出
dhfaj231asf
分析
对数组进行遍历,如果buffer[m] 不是空格 便将buffer[m]的值赋给buffer[n],若遇到 空格 buffer[m]的值不赋给buffer[n],并且跳到下一个数据进行判断
注意,处理后的buffer长度没有变化,所以要将第n的位置的元素变为’\0’
#include <stdio.h> int main() { char buffer[100] = ""; gets(buffer); int m = 0; int n = 0; for (; buffer[m] != '\0'; m++) { if (buffer[m] != ' ') { buffer[n++] = buffer[m]; } } buffer[n] = '\0'; printf("%s", buffer); return 0; }
使用js去除字符串内所带有空格,有以下三种方法:
( 1 ) replace正则匹配方法
去除字符串内所有的空格:str = str.replace(/\s*/g,"");
去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,"");
去除字符串内左侧的空格:str = str.replace(/^\s*/,"");
去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,"");
示例:
var str = " 6 6 "; var str_1 = str.replace(/\s*/g,""); console.log(str_1); //66 var str = " 6 6 "; var str_1 = str.replace(/^\s*|\s*$/g,""); console.log(str_1); //6 6//输出左右侧均无空格 var str = " 6 6 "; var str_1 = str.replace(/^\s*/,""); console.log(str_1); //6 6 //输出右侧有空格左侧无空格 var str = " 6 6 "; var str_1 = str.replace(/(\s*$)/g,""); console.log(str_1); // 6 6//输出左侧有空格右侧无空格
( 2 ) str.trim()方法
trim()方法是用来删除字符串两端的空白字符并返回,trim方法并不影响原来的字符串本身,它返回的是一个新的字符串。
缺陷:只能去除字符串两端的空格,不能去除中间的空格
示例:
var str = " 6 6 "; var str_1 = str.trim(); console.log(str_1); //6 6//输出左右侧均无空格
单独去除左侧空格则使用 str.trimLeft(); //var str_1 = str.trimLeft();
单独去除右侧空格则使用 str.trimRight();//var str_1 = str.trimRight();
( 3 ) JQ方法:$.trim(str)方法
$.trim() 函数用于去除字符串两端的空白字符。
注意:$.trim()函数会移除字符串开始和末尾处的所有换行符,空格(包括连续的空格)和制表符。如果这些空白字符在字符串中间时,它们将被保留,不会被移除。
示例:
var str = " 6 6 "; var str_1 = $.trim(str); console.log(str_1); //6 6//输出左右侧均无空格
字符串操作–strip
我们在操作字符串的时候,难免会遇见有空格的情况。删除这些空格的操作方式很多,我总结出了最简单的一种方式。
1. 前后删除 str.strip()
先看代码效果如下:>str = ' a b c ' >print(str.strip()) 'a b c' #此时能看出str.strip()方法,作用是删除前后空格。
2.删除左边空格 str.lstrip()
效果如下:>str = ' a b c ' >print(str.lstrip()) 'a b c ' #str.lstrip()的作用是删除左边空格。
3.删除右边空格 str.rstrip()
效果如下:>str = ' a b c ' >print(str.rstrip()) ' a b c' #str.rstrip()的作用是删除右边空格。
重点!!!!
请问删除字符串中所有位置的空格怎么办???
答:’’.join(str.split())
看效果:>str = ' a b c ' >print(''.join(str.split())) 'abc' #''.join(str.split())的作用是先将字符串切割成['a','b','c']然后再进行连接。
" abc ".strip() # returns "abc" " xyz ".lstrip() # returns "xyz " " xyz ".rstrip() # returns " xyz" " x y z ".replace(' ', '') # returns "xyz"
转载于:https://www.cnblogs.com/themost/p/7049291.html