给我一段用C#代码写的的方法,该方法根据二维字符串列表的每行首个字符串的不同,来读取该行所有的数据,并存放到一个一维字符串列表中并返回
时间: 2023-06-15 19:04:09 浏览: 40
以下是一个示例代码:
```csharp
public List<string> ReadData(List<List<string>> dataList)
{
List<string> result = new List<string>();
// 遍历二维字符串列表
for (int i = 0; i < dataList.Count; i++)
{
List<string> row = dataList[i];
string firstStr = row[0];
// 如果该行的首个字符串与上一行不同,将该行的数据加入到结果列表中
if (i == 0 || firstStr != dataList[i - 1][0])
{
for (int j = 1; j < row.Count; j++)
{
result.Add(row[j]);
}
}
}
return result;
}
```
该方法接受一个二维字符串列表作为参数,遍历该列表,根据每行首个字符串的不同来读取该行所有的数据,并将其存放到一个一维字符串列表中并返回。具体实现是通过比较每行的首个字符串与上一行的首个字符串是否相同来判断是否需要将该行的数据加入到结果列表中。
相关问题
帮我用正则表达式写一个匹配文本文件中所有不含字符串“ v11 ”的行
可以使用负向预测先行断言来匹配不含字符串 "v11" 的行,正则表达式如下:
```
^(?!.*v11).*$
```
解释:
- `^` 匹配行首
- `(?!.*v11)` 负向预测先行断言,表示后面不含字符串 "v11"
- `.*` 匹配任意字符,零次或多次
- `$` 匹配行尾
将以上正则表达式应用于文本文件,可以匹配所有不含字符串 "v11" 的行。
sed 删除关键词至行首字符串
sed 是一种文本处理工具,它可以用来对文本进行编辑和转换。如果要使用 sed 删除关键词至行首字符串,可以使用以下命令:
```shell
sed 's/关键词.*$/行首字符串/' 文件名
```
这个命令中,s 表示进行替换操作,关键词表示要删除的关键词,.* 表示匹配任意字符的任意次数,$ 表示行尾。行首字符串表示要替换成的字符串。
例如,如果有一个文件 file.txt 内容如下:
```
这是一行数据,关键词在中间。
这是第二行数据,关键词在行尾。
这是第三行数据,关键词在行首。
```
如果要将每一行的关键词删除至行首,则可以使用以下命令:
```shell
sed 's/关键词.*$/行首字符串/' file.txt
```
执行后,输出结果如下:
```
这是一行数据,行首字符串在中间。
这是第二行数据,行首字符串在行尾。
行首字符串这是第三行数据,关键词在行首。
```
这样,每一行的关键词都被删除,并替换为行首字符串。