C语言 存在字符串“this is a program test.”和“aeio”,删除前者中后者有的字符
时间: 2023-05-18 11:04:46 浏览: 155
可以使用C语言中的字符串操作函数strchr()和strcat()来实现。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "this is a program test.";
char str2[] = "aeio";
char *p;
for (int i = 0; i < strlen(str2); i++) {
p = strchr(str1, str2[i]);
while (p != NULL) {
memmove(p, p + 1, strlen(p));
p = strchr(p, str2[i]);
}
}
printf("%s\n", str1);
return 0;
}
```
运行结果为:"ths s prgrm tst.",即删除了字符串中所有出现在str2中的字符。
相关问题
js中使用正则1, 找出下面字符串中的bag, beg, big, bog, 忽略大小写, 并将其改为bug: (I am a Big man, I have so mach bag, so veryone call me beg man, bog bog bog, I hate you! )
```javascript
const str = "I am a Big man, I have so mach bag, so veryone call me beg man, bog bog bog, I hate you! ";
const regex = /b[aeio]g/ig;
const result = str.replace(regex, "bug");
console.log(result); // "I am a bug man, I have so mach bug, so veryone call me bug man, bug bug bug, I hate you! "
```
解释:
- `/b[aeio]g/ig` 是一个正则表达式,其中 `[]` 表示匹配包含在方括号中的任意一个字符,`[aeio]` 表示匹配 a、e、i、o 中的任意一个字符,因此 `[aeio]g` 可以匹配到 bag、beg、big、bog。
- `/i` 表示忽略大小写,`/g` 表示全局匹配。
- `replace` 方法可以将匹配到的字符串替换为指定的内容。这里将匹配到的字符串替换为 "bug"。
用js实现// 1, 找出下面字符串中的bag,beg,big,bog, 忽略大小写, 并将其改为bug: // ( I am a Big man, I have so mach bag, so veryone call me beg man, bog bog bog, I hate you! )
可以使用正则表达式来实现这个需求,具体代码如下:
```javascript
const str = 'I am a Big man, I have so mach bag, so veryone call me beg man, bog bog bog, I hate you!';
const regex = /b[aeio]g/ig; // 匹配 bag,beg,big,bog,忽略大小写
const result = str.replace(regex, 'bug'); // 将匹配到的字符串替换为 bug
console.log(result); // "I am a bug man, I have so mach bug, so veryone call me bug man, bug bug bug, I hate you!"
```
解释一下正则表达式:
- `b`:匹配字母 b
- `[aeio]`:匹配 a、e、i、o 中的任意一个字母
- `g`:全局匹配,即匹配到一个符合条件的字符串后继续匹配下一个符合条件的字符串
- `i`:忽略大小写,即 b 和 B 都会被匹配到
整个正则表达式的含义是:匹配所有的 bag、beg、big、bog,忽略大小写。
阅读全文