2015-10-06 38 views
0

VB.NET有一個Substring方法,它將起始索引和子字符串的長度作爲參數。是否有可能從一個索引提取一個子串到另一個(而不是使用長度)?從一個索引提取子字符串到另一個索引

舉例來說,如果我有一個字符串"1 + 1 = 2",我想提取+=我希望能夠做這樣的事情之間的一切:

string.Substring(string.IndexOf("+") + 1, string.IndexOf("=") - 1) 

的原因我不」要使用長度是因爲我不確定在+=之間的數字是多少個數字。

是正則表達式我唯一的選擇,還是我缺少一些簡單的東西?

+1

'string.Substring(string.IndexOf( 「+」)+ 1,string.length減 - string.IndexOf( 「=」))' –

+0

這是返回錯誤的數據。如果它們超過3位數字,它將切斷整數,並且由於某種原因也會包括=號。 @Martin鞋底有正確的答案。感謝評論,但! –

回答

1

你有所有的東西來找出你想要的子串的長度。你知道兩個端點在哪裏。從中可以計算出你需要的字符數。

Dim Value = "1 + 1 = 2" 
Dim Start = Value.IndexOf("+") + 1 '3 in this example 
Dim Last = Value.IndexOf("=") - 1 '5 in this example 
Dim Length = Last - Start + 1 '5 - 3 + 1 = 3 
Dim Result = Value.SubString(Start, Length) 
+0

這很簡單,我不能相信我沒有看到這一點。我經常看到一些簡單的問題。謝謝! –

相關問題