c# 我有一个string数组 我要取*号后面所有的数据
时间: 2024-03-01 14:53:32 浏览: 57
假设你的string数组名为`strArray`,以下是取*号后面所有数据的代码示例:
```csharp
List<string> result = new List<string>();
foreach (string str in strArray)
{
int index = str.IndexOf("*"); // 查找*号的位置
if (index >= 0 && index < str.Length - 1) // 如果找到*号并且*号不是最后一个字符
{
string data = str.Substring(index + 1); // 取*号后面的数据
result.Add(data); // 添加到结果列表中
}
}
// 输出结果
foreach (string data in result)
{
Console.WriteLine(data);
}
```
注意,这个示例代码只是一种实现方式,具体的实现方式可以根据你的需求和具体情况进行调整。
相关问题
c# 我有一个string数组 我要取最后一行的*号下所有的数据
您可以使用 C# 中的 `Split` 函数将字符串数组按行分割,然后取最后一行,再使用 `Substring` 函数取最后一行中 `*` 号后的所有数据。示例代码如下:
```csharp
string[] lines = { "Hello World", "This is a test", "*** Data1", "*** Data2", "*** Data3" }; // 假设这是您的字符串数组
string lastLine = lines[lines.Length - 1]; // 取最后一行
string data = lastLine.Substring(lastLine.IndexOf('*') + 1); // 取最后一行中 * 号后的所有数据
Console.WriteLine(data); // 输出:Data1 Data2 Data3
```
以上代码中,`IndexOf` 函数用于查找 `*` 号在字符串中的位置,`Substring` 函数用于截取 `*` 号后的所有数据。
c# 我有一个string数组 我要取最后一条有*号的数据并判断这是不是最后一条有*数据如果不是继续往后取,取到最后一条*数据后在获取最后一条*数据后面所有数据
可以使用如下的代码实现你的需求:
```csharp
string[] dataArray = new string[] { "abc", "def*", "ghi*", "jkl", "mno*", "pqr" };
int lastIndex = -1;
for (int i = dataArray.Length - 1; i >= 0; i--)
{
if (dataArray[i].Contains("*"))
{
lastIndex = i; // 找到最后一条有*的数据
break;
}
}
if (lastIndex != -1)
{
if (lastIndex != dataArray.Length - 1) // 不是最后一条有*的数据
{
for (int i = lastIndex + 1; i < dataArray.Length; i++)
{
if (dataArray[i].Contains("*"))
{
lastIndex = i; // 继续往后取,直到最后一条有*的数据
}
else
{
break;
}
}
}
// 最后一条*数据后面所有数据
for (int i = lastIndex + 1; i < dataArray.Length; i++)
{
Console.WriteLine(dataArray[i]);
}
}
```
这段代码首先遍历整个数组,找到最后一条有*的数据的索引。如果这不是最后一条有*的数据,就继续往后取,直到找到最后一条有*的数据的索引。最后根据最后一条*数据的索引,输出其后面的所有数据。
阅读全文