java若可以从一个源字符串中, 找到一个相符的字符串, 则返回第一个字符的索引位置,否则返回-1。 13.判断一个字符串是否是回文
时间: 2023-12-14 16:39:05 浏览: 47
对于第一题,可以使用 String 类中的 indexOf() 方法来实现。
例如:
```java
String sourceStr = "hello world";
String targetStr = "world";
int index = sourceStr.indexOf(targetStr);
if (index != -1) {
System.out.println("目标字符串在源字符串中的索引位置为:" + index);
} else {
System.out.println("源字符串中不存在目标字符串!");
}
```
对于第二题,可以先将字符串反转,再与原字符串比较是否相等。
例如:
```java
String str = "level";
String reverseStr = new StringBuilder(str).reverse().toString();
if (str.equals(reverseStr)) {
System.out.println("该字符串是回文!");
} else {
System.out.println("该字符串不是回文!");
}
```
相关问题
若可以从一个源字符串中, 找到一个相符的字符串, 则返回第一个字符的索引位置,否则返回-1。
你可以使用 Python 内置的字符串方法 `find()` 或 `index()` 来实现此功能。
`find()` 方法会在源字符串中查找目标字符串,如果找到则返回第一个字符的索引位置,否则返回 -1。例如:
```python
source_str = "Hello, world!"
target_str = "world"
index = source_str.find(target_str)
if index != -1:
print(f"找到了,位置在 {index}")
else:
print("没找到")
```
输出:
```
找到了,位置在 7
```
`index()` 方法的用法与 `find()` 方法类似,不同之处在于如果目标字符串不存在于源字符串中,`index()` 方法会抛出一个 `ValueError` 异常。因此,我们需要在调用 `index()` 方法时使用 `try...except` 块来处理可能出现的异常。例如:
```python
source_str = "Hello, world!"
target_str = "world"
try:
index = source_str.index(target_str)
print(f"找到了,位置在 {index}")
except ValueError:
print("没找到")
```
输出:
```
找到了,位置在 7
```
需要注意的是,`find()` 和 `index()` 方法都是区分大小写的。如果想要进行大小写不敏感的查找,可以将源字符串和目标字符串都转换为小写或大写字母,然后再调用 `find()` 或 `index()` 方法。例如:
```python
source_str = "Hello, world!"
target_str = "WORLD"
index = source_str.lower().find(target_str.lower())
if index != -1:
print(f"找到了,位置在 {index}")
else:
print("没找到")
```
输出:
```
找到了,位置在 7
```
若可以从一个源字符串中, 找到一个相符的字符串, 则返回第一个字符的索引位置,否则返回-1。 13.判断一个字符串是否是回文
13. 判断一个字符串是否是回文
回文字符串是指正着读和倒着读都一样的字符串。可以通过以下代码来判断一个字符串是否是回文:
```python
def is_palindrome(s):
# 将字符串转为小写并去除非字母数字字符
s = ''.join(filter(str.isalnum, s.lower()))
# 判断翻转后的字符串是否和原字符串相等
return s == s[::-1]
```
其中,`filter(str.isalnum, s.lower())` 用于将字符串中的非字母数字字符过滤掉。s[::-1]表示将字符串s翻转。
示例:
```python
s1 = "A man, a plan, a canal: Panama"
s2 = "race a car"
print(is_palindrome(s1)) # True
print(is_palindrome(s2)) # False
```