根据分隔符提取部分字符串
本文关键字:字符串 提取部 分隔符 | 更新日期: 2023-09-27 17:51:08
我需要帮助开发一个逻辑,当用户输入"分隔符"时提取字符串的一部分
例如:string data = "|cBlue|pDaisy|pRose|mTomato|mWheat|pCabbage|p100 units|d19.0";
string userInput = //User enter input
所以,如果用户输入"|c",它应该返回"Blue"
如果用户输入"|m",它应该返回"Tomato", "Wheat"作为2个字符串。
如果用户输入"|p",它应该返回"雏菊"、"玫瑰"、"卷心菜"answers"100个单位"作为4个不同的字符串。
如果用户输入不存在的内容,例如|z,它将不返回任何内容或返回空字符串"。
注意:这只是一个样本数据,实际数据由|a - |z, |a - |z组成从string. split()开始对字符串进行标记。
然后遍历每个标记。取出它的第一个字符,并使用第一个字符作为键,其余字符作为值构造一个Dictionary<char, string>
。
然后简单地对所需的字符进行字典查找以找到相关的标记。
首先获取输入,解析它。使用Split
方法,然后按首字母过滤words
,如下所示:
var userInput = Console.ReadLine();
if(userInput.Length == 2)
{
var words = data.Split(userInput[0]).Where(x => x.StartsWith(userInput[1].ToString()));
if(words.Any())
{
var result = words.Select(x => x.Substring(1)).ToList();
}
else
{
// no word found
}
}