C#中 一个字符串 按逗号分隔并去掉前后空格,并 存为 HashSet<string>
时间: 2024-09-17 13:04:52 浏览: 37
在C#中,你可以使用`StringSplitOptions.RemoveEmptyEntries`选项配合`Split()`方法将字符串按照逗号分隔,然后去除前后多余的空格。接着,将结果转换为`HashSet<string>`以避免重复元素。以下是步骤:
```csharp
string input = " value1, value2, ,value3, another value, empty,"; // 输入字符串
string[] splitValues = input.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); // 分割并去空白
HashSet<string> resultSet = new HashSet<string>(splitValues); // 转换为HashSet
```
在这个例子中,`Trim()`函数用于移除输入字符串开头和结尾的空格。`Split()`方法会根据逗号分割字符串,而`StringSplitOptions.RemoveEmptyEntries`则会忽略返回数组中的所有空项。
现在,`resultSet`就是你想要的结果,它包含了没有重复值的、按逗号分隔后的字符串集合。
相关问题
一个字符串 按逗号分隔,并 存为 HashSet<string>
将一个字符串按照逗号分隔并存储到HashSet<string>中,意味着我们将字符串中的每个独立元素视为唯一,并且不保留顺序。这是因为HashSet是一种无序的数据结构,它不允许有重复的键(在这个例子中就是字符串)。以下是步骤:
1. 创建一个空的HashSet<String>来存储结果。
2. 对输入的字符串进行处理,通过`split(",")`方法按照逗号分割成一个字符串数组。
3. 遍历这个数组,对于每一个元素,添加到HashSet中,由于HashSet自动去除重复项,所以不会插入已经存在的元素。
4. 完成遍历后,HashSet就包含了所有的独特元素。
示例代码(Java):
```java
String inputString = "element1,element2,element2,element3";
HashSet<String> set = new HashSet<>();
String[] elements = inputString.split(",");
for (String element : elements) {
set.add(element);
}
// 现在set包含的是{element1, element2, element3}
```
HashSet<String> uniqueValues = new HashSet<String>(Arrays.asList(myValues));这段代码作用是啥
这段代码的作用是将一个字符串数组 `myValues` 转换为一个包含唯一元素的 HashSet 集合 `uniqueValues`。具体来说,它将一个字符串数组作为参数传递给 HashSet 构造函数,并使用 Arrays.asList() 方法将其转换为 List 对象,然后将 List 对象传递给 HashSet 构造函数,从而创建一个不包含重复元素的 HashSet 集合。这通常用于去除数组中的重复元素,以便更方便地进行元素的查找、删除和添加操作。
阅读全文