2013-09-25 126 views
0

我需要將下面的字符串值分解爲2個變量。動態長度的子字符串

輸入

6.3全日託

預期輸出:

var price=6.3; //The input is dynamic.Cannot get fixed length 
var serviceKey="full-day-care"; 

我怎麼能這樣做? Substring在這裏沒有幫助。

+1

你有沒有試過String.Split? –

+4

這是什麼模式?它是第一個''字符? –

+0

@SonerGönül是 – Sampath

回答

3

您可以使用String.SplitString.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

+0

你能告訴我更多關於你使用的演示編輯器嗎? – Sampath

+0

@Sampath我通常使用['Ideone'](http://ideone.com/),它支持許多編程語言。看一看。 –

+0

感謝您的支持。它的工作。 – Sampath

2

,你可以這樣做:

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); 
+3

更好*。另外,'= 0'是多餘的,因爲它是'TryParse'的'out'參數(在第二條指令中也被拼寫爲「prince」) – Default

0

這應該工作

var s = "6.3-full-day-care"; 
var index = s.IndexOf('-'); 
var price = s.Substring(0, index); 
var serviceKey = s.Substring(index + 1); 
0

如果價格和鑰匙總是與一個分離 ' - ':

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); 
相關問題