去除字符串中左边的空格与右边的空格 “ a b “ “a b” (不能使用trim方法)
时间: 2024-05-03 17:22:24 浏览: 5
可以使用循环遍历字符串的方式,找到第一个非空格字符和最后一个非空格字符的位置,然后截取这个子串即可。具体代码如下:
```python
def remove_spaces(s):
left, right = 0, len(s) - 1
# 找到第一个非空格字符的位置
while left < len(s) and s[left] == ' ':
left += 1
# 找到最后一个非空格字符的位置
while right >= 0 and s[right] == ' ':
right -= 1
return s[left:right+1]
```
这个函数的思路是先初始化左右指针分别指向字符串的开头和结尾,然后分别找到第一个非空格字符和最后一个非空格字符的位置。具体实现是通过两个 while 循环分别从左往右和从右往左扫描字符串,直到找到第一个非空格字符和最后一个非空格字符的位置。最后返回从左指针到右指针之间的子串即可。
相关问题
trim去掉字符串右边的空格
在大多数编程语言中,可以使用trim()函数去掉字符串右边的空格。trim()函数是一个内置函数,可以用于去除字符串的开头和结尾的空白字符,包括空格、制表符、换行符等。以下是一些示例:
在Python中,可以使用rstrip()函数来去除字符串右边的空格:
```
string = " Hello World! "
new_string = string.rstrip()
print(new_string)
```
输出结果为:
```
Hello World!
```
在Java中,可以使用trim()函数来去除字符串右边的空格:
```
String string = " Hello World! ";
String new_string = string.trim();
System.out.println(new_string);
```
输出结果为:
```
Hello World!
```
在C++中,可以使用erase()函数来去除字符串右边的空格:
```
string str = " Hello World! ";
str.erase(str.find_last_not_of(" \n\r\t")+1);
cout << str;
```
输出结果为:
```
Hello World!
```
使用trim()方法去掉字符串前后的空格
好的,trim()方法是字符串对象的一个方法,可以去掉字符串前后的空格。示例代码如下:
```java
String str = " Hello, World! ";
String trimmedStr = str.trim();
System.out.println(trimmedStr); // 输出 "Hello, World!"
```
在这个例子中,我们定义了一个字符串变量 `str`,它包含前后空格的字符串。然后我们使用 `trim()` 方法去掉前后空格,得到一个新的字符串变量 `trimmedStr`,它不包含前后空格。最后我们输出 `trimmedStr` 的值,结果为 "Hello, World!"。