假定输入的字符串中只包含字母和*号。编写程序只删除字符串的前面*号。程序代码怎么写
时间: 2024-03-16 14:46:11 浏览: 65
你可以使用循环来遍历字符串,找到第一个非*字符的位置,然后将其及其之后的字符作为新的字符串返回即可。以下是一个简单的 Python 实现示例:
```python
def remove_star(str):
i = 0
while i < len(str) and str[i] == '*':
i += 1
return str[i:]
# 测试代码
s = '**hello'
print(remove_star(s)) # 输出 'hello'
```
在这个实现中,我们使用了一个 while 循环来找到第一个非*字符的位置,然后使用切片操作来返回从该位置开始的子字符串。请注意,我们在循环条件中加入了一个保险条件 `i < len(str)`,以避免出现数组越界异常。
相关问题
假定输入的字符串中只有字母和*号,编写程序只删除字符串前面的*
好的,那么假设输入的字符串中只有字母和 `*` 号,您可以采用以下代码实现:
```python
s = input("请输入一个字符串:")
i = 0
while i < len(s) and s[i] == '*':
i += 1
print(s[i:])
```
该程序首先使用 `input()` 函数获取用户输入的字符串,然后使用一个 `while` 循环来检查字符串开头是否有 `*` 字符。如果有,则将指针向右移动一位,直到指针指向的字符不是 `*` 为止。最后,使用字符串的切片操作 `s[i:]` 来获取指针指向位置及其后面的所有字符,并将其输出到屏幕上。
请注意,该程序只删除字符串前面的 `*` 字符,不会删除字符串中间或结尾的 `*` 字符。如果您需要删除所有 `*` 字符,可以使用字符串的 `replace()` 方法,如下所示:
```python
s = input("请输入一个字符串:")
s = s.replace('*', '')
print(s)
```
该程序直接使用了字符串的 `replace()` 方法,将字符串中所有的 `*` 字符替换为空字符串,最后输出处理后的字符串。
C语言假定输入的字符串中只包含字母和*号。请编写程序:将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G*******。 DEV C++
以下是C语言实现的代码,可以将字符串中的前导*号全部删除,中间和后面的*号不删除:
```c
#include <stdio.h>
#include <string.h>
void deleteLeadingStars(char str[]) {
int i, j, len;
len = strlen(str);
j = 0;
for (i = 0; i < len; i++) {
if (str[i] != '*') {
break;
}
j++;
}
for (i = 0; i < len - j; i++) {
str[i] = str[i + j];
}
str[i] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
deleteLeadingStars(str);
printf("删除前导*号后的字符串为:%s\n", str);
return 0;
}
```
阅读全文