我有一个由以下字符串组成的数组..
FixedLines Rs. 0.200 / 1 min Rs. 0.600 / 1 min
我通过基于字符串中的空格进行拆分将此字符串转换为字符串数组。
现在我想在子串Rs.
之后获取字符串意味着我想要值0.200 / 1 min
和0.600 / 1 min
。
请帮助我如何将字符串数组中的这些值转换为字符串。
答案 0 :(得分:1)
你可以在你的问题的评论中做Sayse所说的。
string phrase = "FixedLines Rs. 0.200 / 1 min Rs. 0.600 / 1 min";
var split = new string[1];
split[0] = "Rs.";
var results = phrase.Split(split, StringSplitOptions.RemoveEmptyEntries).Skip(1);
答案 1 :(得分:1)
您可以按Rs.
拆分,只收取包含/
的部分:
string str = "FixedLines Rs. 0.200 / 1 min Rs. 0.600 / 1 min";
var parts = str.Split(new[] { " Rs. " }, StringSplitOptions.RemoveEmptyEntries)
.Where(p => p.Contains("/"));
foreach(string part in parts)
Console.WriteLine(part);
输出:
0.200 / 1 min
0.600 / 1 min
您:
如何将这两个值转换为字符串?
您可以使用string.Join
,f.e。如果你想用换行符分隔它们:
string values = string.Join(Environment.NewLine, parts);
您:
对不起!但我想要两个字符串,例如str1和str2
我建议使用集合而不是单个变量,或者您确定总是只有两个值吗?
您可以使用ToArray
或ToList
创建集合,然后您可以使用索引器或LINQ扩展方法,例如First
,Last
或ElementAtOrDefault
:
string[] values = parts.ToArray();
string firstVal = values.First();
string lastVal = values.Last();
答案 2 :(得分:0)
听起来你可以做到
stringName.Split(new string[]{" Rs. "}, StringSplitOptions.RemoveEmptyEntries)
.Skip(1);
根据Rs.
拆分字符串,然后跳过第一个条目