使用find函数从指定长度的字符串中查找指定字符串
时间: 2023-08-14 07:05:39 浏览: 130
可以使用Python中的`find()`函数来从指定长度的字符串中查找指定字符串。`find()`函数返回匹配字符串的起始位置,如果找不到则返回-1。
以下是一个示例代码:
```python
# 定义字符串和要查找的子字符串
str = "Hello, World!"
substr = "World"
# 使用find()函数查找子字符串
pos = str.find(substr)
# 打印结果
if pos != -1:
print("子字符串在字符串中的位置为:", pos)
else:
print("未找到子字符串")
```
输出结果为:
```
子字符串在字符串中的位置为: 7
```
在上面的示例中,我们首先定义了一个字符串`str`和要查找的子字符串`substr`。然后,我们使用`find()`函数查找子字符串,并将结果存储在变量`pos`中。最后,我们检查`pos`的值,如果不是-1,则说明找到了子字符串,并输出其位置;否则,输出未找到子字符串的消息。
相关问题
利用C语言或C++使用find函数从指定长度的字符串中查找指定字符串
下面是一个用C++实现的例子:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello, world!";
string substr = "world";
int pos = str.find(substr, 0, substr.length());
if (pos != string::npos) {
cout << "Substring found at position " << pos << endl;
} else {
cout << "Substring not found" << endl;
}
return 0;
}
```
在上面的例子中,我们使用了`std::string`类的`find`函数来查找子串。`find`函数的第一个参数是要查找的子串,第二个参数是查找的起始位置,第三个参数是子串的长度。如果找到了子串,`find`函数返回子串在字符串中的位置,否则返回`string::npos`。
如果你想用C语言实现,可以使用`strstr`函数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello, world!";
char substr[] = "world";
char *pos = strstr(str, substr);
if (pos != NULL) {
printf("Substring found at position %ld\n", pos - str);
} else {
printf("Substring not found\n");
}
return 0;
}
```
在上面的例子中,我们使用了`strstr`函数来查找子串。`strstr`函数的第一个参数是要查找的字符串,第二个参数是要查找的子串。如果找到了子串,`strstr`函数返回子串在字符串中的指针,否则返回`NULL`。为了得到子串在字符串中的位置,我们可以用`pos - str`来计算偏移量。
编写函数,从给定字符串中查找某指定的字符。
可以使用以下 Python 代码实现:
```python
def find_char(string, char):
"""
在给定字符串中查找某个指定的字符
:param string: 给定字符串
:param char: 指定字符
:return: 字符在字符串中的位置,如果不存在则返回 -1
"""
for i in range(len(string)):
if string[i] == char:
return i
return -1
```
这个函数接受两个参数:`string` 表示要查找的字符串,`char` 表示要查找的字符。
函数使用 `for` 循环遍历字符串中的每个字符,如果找到了指定字符,则返回该字符在字符串中的位置。如果循环结束后仍然没有找到指定字符,则返回 `-1`。
例如,如果要在字符串 `"hello, world!"` 中查找字符 `'o'`,可以这样调用函数:
```python
position = find_char("hello, world!", 'o')
print(position) # 输出 4
```
如果要查找字符 `'x'`,则函数会返回 `-1`:
```python
position = find_char("hello, world!", 'x')
print(position) # 输出 -1
```