有一个前中后都有空格的字符串,删除其前面的所有空格,中间和后面的空格不要删除。
时间: 2024-02-19 17:57:57 浏览: 69
可以使用字符串的strip()方法来删除前后空格,然后再用split()方法分割字符串,取得中间的部分,如下所示:
```python
s = " hello world "
middle = s.strip().split()[0]
print(middle) # 输出: "hello"
```
这样就可以得到中间的部分,即"hello"。注意,split()方法默认使用空格作为分隔符,因此可以直接取得第一个元素作为中间部分。
相关问题
c语言:有一个前中后都有空格的字符串,删除其前面的所有空格,中间和后面的空格不要删除
可以使用C语言中的指针和数组来删除前面的空格。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = " Hello world! ";
char *ptr = str; // 定义指向字符串的指针
// 去掉前面的空格
while (*ptr == ' ') {
ptr++;
}
// 输出去掉前面空格后的字符串
printf("%s\n", ptr);
return 0;
}
```
运行结果为:
```
Hello world!
```
可以看到,输出的字符串去掉了前面的空格,而中间和后面的空格没有被删除。
用c语言实现有一个前中后都有空格的字符串,删除其前面的所有空格,中间和后面的空格不要删除。
可以使用指针来实现这个功能。首先,使用指针遍历字符串,找到第一个非空格字符的位置。然后,将指针指向该位置,开始复制字符串。在复制过程中,遇到空格时,检查下一个字符是否为非空格字符,如果是,则将该空格复制到新字符串中,否则跳过空格。复制完成后,在新字符串末尾添加一个空字符即可。
下面是实现代码:
```c
#include <stdio.h>
#include <string.h>
void remove_front_spaces(char *str) {
char *p1 = str;
char *p2 = str;
// 找到第一个非空格字符的位置
while (*p1 == ' ') {
p1++;
}
// 复制字符串
while (*p1 != '\0') {
if (*p1 == ' ') {
// 检查下一个字符是否为非空格字符
if (*(p1 + 1) != ' ') {
*p2++ = *p1++;
} else {
p1++;
}
} else {
*p2++ = *p1++;
}
}
// 添加空字符
*p2 = '\0';
}
int main() {
char str[] = " hello world ";
remove_front_spaces(str);
printf("%s\n", str); // 输出 "hello world "
return 0;
}
```
阅读全文