c# 不区分全角半角,判断给定字符串是否在给定字符串ArrayList中。
时间: 2024-01-12 10:04:58 浏览: 45
`ArrayList`类已经被.NET Framework标记为过时的类型,建议使用泛型类`List<T>`代替。在使用`List<string>`时,可以使用上面提到的`StringComparer.OrdinalIgnoreCase`参数来忽略全角半角的差异判断给定字符串是否在给定字符串List中。示例代码如下:
```csharp
ArrayList strArrayList = new ArrayList { "hello", "world", "C#开发" };
string str = "C#开发"; // 全角的C#
bool isExist = strArrayList.Contains(str, StringComparer.OrdinalIgnoreCase);
Console.WriteLine(isExist); // 输出True
```
在上述示例代码中,`strArrayList`是给定字符串集合,`str`是需要判断的字符串,`isExist`是一个布尔值,表示`str`是否在`strArrayList`中存在。使用`StringComparer.OrdinalIgnoreCase`参数可以忽略全角半角的差异,使得判断结果更加准确。注意,`ArrayList`中的元素类型是`object`,因此在使用时需要进行类型转换。
相关问题
java 给定字符串,截取其中可以为json串的部分
你可以使用类似于上一个问题中的正则表达式,来找到给定字符串中所有符合 JSON 格式的子串。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JsonParser {
private static final Pattern JSON_PATTERN = Pattern.compile("\\{.*?\\}");
public static List<String> parse(String input) {
List<String> result = new ArrayList<>();
Matcher matcher = JSON_PATTERN.matcher(input);
while (matcher.find()) {
String json = matcher.group();
try {
// 尝试解析 JSON 字符串,如果可以解析则说明是符合条件的
new JSONObject(json);
result.add(json);
} catch (JSONException e) {
// 解析失败,说明不是符合条件的 JSON 字符串,忽略
}
}
return result;
}
}
```
这个代码中,首先定义了一个静态的正则表达式 `JSON_PATTERN`,用来匹配 JSON 字符串。然后,使用 `Matcher` 对象找到所有符合条件的 JSON 字符串。最后,对每个匹配到的 JSON 字符串,尝试解析成 `JSONObject`,如果可以解析则说明是符合条件的 JSON 字符串,将其添加到结果列表中。
你可以使用以下代码来测试这个方法:
```java
public static void main(String[] args) {
String input = "abc {\"value\": 2} def {\"value\": 3} ghi {\"metricId\": 4, \"value\": 5}";
List<String> jsons = JsonParser.parse(input);
for (String json : jsons) {
System.out.println(json);
}
}
```
这个例子中,输入字符串包含三个子串,但只有第一个和第三个是符合 JSON 格式的,所以输出结果应该是:
```
{"value": 2}
{"metricId": 4, "value": 5}
```
需要注意的是,这个方法只能找到符合 JSON 格式的子串,但并不能保证这些子串是完整的 JSON 对象或数组,也不能保证其中是否包含 `"metricId"` 字段。如果你需要进一步的处理,请根据具体情况进行解析。
在java中,如何判断一个LIST中是否包含一个字符串
在 Java 中,可以使用 `List` 接口中的 `contains` 方法来判断一个字符串是否在一个列表中,示例代码如下:
```java
List<String> myList = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
if (myList.contains("apple")) {
System.out.println("myList contains \"apple\"");
} else {
System.out.println("myList does not contain \"apple\"");
}
```
如果 `myList` 中包含字符串 `"apple"`,则输出 `"myList contains "apple""`,否则输出 `"myList does not contain "apple""`。
需要注意的是,在使用 `contains` 方法时,需要保证列表中的元素和待查找的字符串都是同一类型,即列表中的元素类型必须是字符串类型,否则可能会引发类型转换异常。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)