我需要將下面的字符串值分解爲2個變量。動態長度的子字符串
輸入
6.3全日託
預期輸出:
var price=6.3; //The input is dynamic.Cannot get fixed length
var serviceKey="full-day-care";
我怎麼能這樣做? Substring
在這裏沒有幫助。
我需要將下面的字符串值分解爲2個變量。動態長度的子字符串
輸入
6.3全日託
預期輸出:
var price=6.3; //The input is dynamic.Cannot get fixed length
var serviceKey="full-day-care";
我怎麼能這樣做? Substring
在這裏沒有幫助。
您可以使用String.Split
和String.Substring
方法一樣;
string s = "6.3-full-day-care";
int index = s.IndexOf('-'); //This gets index of first '-' character
var price = s.Substring(0, index);
var serviceKey = s.Substring(index + 1);
Console.WriteLine(price);
Console.WriteLine(serviceKey);
輸出將是;
6.3
full-day-care
這裏一個DEMO
。
,你可以這樣做:
var val = "6.3-full-day-care";
var index = val.IndexOf("-"); //first occuarance of -
var price =double.Parse(val[index]);
var serviceKey = val.Substring(index);
只給想法。這是尤爲明顯自然地使用double.TryParse(..)
上price
double price = 0;
double.TryParse(val[index], out prince, System.Globalization.InvariantCulture);
更好*。另外,'= 0'是多餘的,因爲它是'TryParse'的'out'參數(在第二條指令中也被拼寫爲「prince」) – Default
這應該工作
var s = "6.3-full-day-care";
var index = s.IndexOf('-');
var price = s.Substring(0, index);
var serviceKey = s.Substring(index + 1);
如果價格和鑰匙總是與一個分離 ' - ':
string s = "6.3-full-day-care";
int separatorIdx = s.IndexOf('-'); // get idx of first '-'
// split original string
string price = s.Substring(0, separatorIdx);
string serviceKey = s.Substring(separatorIdx+1, s.Length);
使用String.Split與最大計數http://msdn.microsoft.com/en-us/library/c1bs0eda.aspx
string s = "6.3-full-day-care";
string[] parts = s.split(new char[]{'-'}, 1);
var price = parts[0];
var serviceKey = parts[1];
你有沒有試過String.Split? –
這是什麼模式?它是第一個''字符? –
@SonerGönül是 – Sampath