求字符串1在字符串2中的位置
时间: 2023-10-12 13:04:43 浏览: 28
可以使用 Python 的字符串方法 `find()` 来查找字符串1在字符串2中的位置。示例代码如下:
```python
str1 = 'hello'
str2 = 'world, hello!'
pos = str2.find(str1)
print(pos) # 输出 7
```
在上面的代码中,`find()` 方法返回字符串1在字符串2中第一次出现的位置,如果找不到则返回-1。
相关问题
c语言利用指针求字符串1在字符串2中的位置
在 C 语言中,可以利用指针和字符串库函数来实现查找字符串1在字符串2中的位置。其中,字符串库函数 `strstr()` 可以在字符串2中查找字符串1的出现位置,并返回一个指向该位置的指针。如果找不到,则返回空指针。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world, hello!";
char *pos = strstr(str2, str1);
if (pos != NULL) {
printf("字符串1在字符串2中的位置为:%ld\n", pos - str2);
} else {
printf("字符串1未在字符串2中出现!\n");
}
return 0;
}
```
在上面的代码中,`strstr()` 函数返回的指针减去字符串2的首地址,即可得到字符串1在字符串2中的位置。需要注意的是,如果找到的位置在字符串2的开头,则返回值为0。
c语言利用指针和函数求字符串1在字符串2中的位置
可以利用指针和函数来实现查找字符串1在字符串2中的位置。可以编写一个函数,接收两个字符串指针作为参数,并返回字符串1在字符串2中的位置。如果字符串1未在字符串2中出现,则返回-1。
示例代码如下:
```c
#include <stdio.h>
int str_find(char *str1, char *str2) {
int pos = -1;
char *p = str2;
while ((p = strchr(p, *str1)) != NULL) {
if (strncmp(p, str1, strlen(str1)) == 0) {
pos = p - str2;
break;
}
p++;
}
return pos;
}
int main() {
char str1[] = "hello";
char str2[] = "world, hello!";
int pos = str_find(str1, str2);
if (pos != -1) {
printf("字符串1在字符串2中的位置为:%d\n", pos);
} else {
printf("字符串1未在字符串2中出现!\n");
}
return 0;
}
```
在上面的代码中,`str_find()` 函数利用 `strchr()` 函数查找字符串2中字符为字符串1首字符的位置,然后用 `strncmp()` 函数比较该位置后面的字符是否与字符串1相同。如果相同,则返回该位置在字符串2中的偏移量,即字符串1在字符串2中的位置。如果找不到,则返回-1。