[英]Select certain part in string as variable c#
我確實有類似以下的字符串“ 1 1/2 + 2 2/3”
現在我想將“ 1 1/2”作為變量,將“ 2 2/3”作為不同的變量。 我該如何解決?
謝謝。
如果您之間總是要有一個“ +”號,則可以簡單地執行以下操作:
var splitStrings = stringWithPlus.Split('+');
for (int i = 0; i < splitStrings.Length; i++) {
splitStrings[i] = splitStrings[i].Trim();
}
編輯:如果您確實想將這兩部分放入兩個單獨的變量中,則可以這樣做。 但這是完全不必要的。 var的類型將為string[]
但將它們分為兩個變量:
var splitStrings = stringWithPlus.Split('+');
for (int i = 0; i < splitStrings.Length; i++) {
splitStrings[i] = splitStrings[i].Trim();
}
string firstHalf = splitStrings[0];
string secondHalf = splitStrings[1];
不過最好通過數組訪問這些字符串,因為那樣您就不會為相同的數據分配更多的內存了。
如果您對Linq滿意,並希望縮短它(上面的示例完全說明了發生的情況),則可以在一行中進行split&foreach:
var splitStrings = stringWithPlus.Split('+').Select(aString => aString.Trim()).ToArray();
string firstHalf=splitStrings[0];
string secondHalf=splitStrings[1];
如果此語法令人困惑,則應在Linq上進行一些搜索,尤其是對對象的Linq。
為了使它更短,我使用了Linq來修剪字符串。 然后我將其轉換回數組。
string[] parts = stringWithPlus.Split('+').Select(p => p.Trim()).ToArray();
將它們用作:
parts[0], parts[1]... parts[n - 1]
其中n
= parts.Length
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.