C# 混合分隔符字符串分割到STRUCT
时间: 2023-10-19 12:58:57 浏览: 49
如果你有一个包含多个不同分隔符的字符串,并且想要将其分割并存储到结构体(struct)中,你可以使用 `Split` 方法和其他字符串处理方法来实现。以下是一个示例代码:
```csharp
using System;
struct Person
{
public string Name;
public int Age;
}
class Program
{
static void Main()
{
string input = "John-25;Jane-30|Alex-35";
// 使用多个分隔符分割字符串
string[] separators = { "-", ";", "|" };
string[] parts = input.Split(separators, StringSplitOptions.RemoveEmptyEntries);
// 创建一个新的结构体实例,并将分割的子字符串转换为结构体字段
Person[] people = new Person[parts.Length / 2];
for (int i = 0; i < parts.Length; i += 2)
{
Person person = new Person();
person.Name = parts[i];
person.Age = int.Parse(parts[i + 1]);
people[i / 2] = person;
}
// 打印每个人的信息
foreach (Person person in people)
{
Console.WriteLine("Name: " + person.Name);
Console.WriteLine("Age: " + person.Age);
Console.WriteLine();
}
}
}
```
在这个示例中,我们定义了一个名为 `Person` 的结构体,其中包含了两个字段:`Name`(姓名)和 `Age`(年龄)。然后,我们定义了一个字符串变量 `input`,包含了一个混合分隔符的字符串。
我们使用 `Split` 方法并传入一个字符串数组 `separators`,其中包含了多个分隔符 "-"、";" 和 "|"。这样,`Split` 方法会根据这些分隔符将 `input` 字符串分割成多个子字符串,并存储在字符串数组 `parts` 中。
接下来,我们创建了一个 `Person` 结构体数组 `people`,用于存储每个人的信息。我们使用一个循环遍历 `parts` 数组,并将每两个元素转换为一个 `Person` 结构体实例,然后将其存储到 `people` 数组中。
最后,我们遍历 `people` 数组,并打印每个人的姓名和年龄。
执行以上代码,你将会得到输出结果:
```
Name: John
Age: 25
Name: Jane
Age: 30
Name: Alex
Age: 35
```
这个示例演示了如何将一个包含多个不同分隔符的字符串分割并存储到结构体中。
希望这个示例对你有所帮助!如果你还有其他关于C#中混合分隔符字符串分割到结构体的问题,请随时提问。
相关推荐
![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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)