我需要解析字符串從NHRM__Location__c
到Location
。我覺得很愚蠢,因爲這不是我的第一個牛仔競技表演。我不想在數組中添加代碼。 NHRM
是一個命名空間,可能會根據誰在使用它而發生變化,因此在某些時候會是app.config文件中的一個鍵。解析字符串中的字符
我在想把__
這個字符串分開,然後把剩下的字加載到一個字符數組中並修剪掉那個人,但是我覺得我可能會對複雜的事情感到厭煩。
我需要解析字符串從NHRM__Location__c
到Location
。我覺得很愚蠢,因爲這不是我的第一個牛仔競技表演。我不想在數組中添加代碼。 NHRM
是一個命名空間,可能會根據誰在使用它而發生變化,因此在某些時候會是app.config文件中的一個鍵。解析字符串中的字符
我在想把__
這個字符串分開,然後把剩下的字加載到一個字符數組中並修剪掉那個人,但是我覺得我可能會對複雜的事情感到厭煩。
使用此:
string sample = "NHRM__Location__c";
Console.WriteLine(sample.Split('_')[2]);
輸入在連續有兩個下劃線,您正在拆分一個下劃線。我認爲當你分裂時,你會發現[2]位置的單詞是單詞「位置」,而不是[1]位置。此外,該方法是'拆分',而不是'拆分' –
謝謝你是這是位置2我覺得真的很愚蠢。我會在會後不久接受答案。敬請關注進修。 –
我已經使用這個代碼把這個變成一個.Net Fiddle你:
using System;
public class Program
{
public static void Main()
{
string stringToSplit = "NHRM__Location__c"; // 2 underscores in each location
char[] sep = new char[] {'_', '_'};
string newString = stringToSplit.Split(sep)[2];
Console.WriteLine(newString);
}
}
我知道這是類似於第1的答案,但我只是想證明該[2]
確實工作,至少對我來說.net小提琴。
我希望這有助於!
更新
System.String
返回值 - 其元素包含從該實例中由一個或多個字符在分隔符分隔
所以字符串的數組如果我將代碼更改爲[4]
,那麼它將返回c
..並且[0]
將返回NHRM
..數組值不包含分隔符
您的stringToSplit變量與OP的不一樣。 – Bearcat9425
好吧,它的工作原理是因爲你的輸入與OP的不同 – Jonesopolis
原始輸入字符串在一行中有兩個下劃線。你的只有一個。 –
「這可能是重複的,如果可以隨時關閉。」這是否意味着在發佈此消息之前,您沒有嘗試查找答案? – dfundako
https://msdn.microsoft.com/en-us/library/ms228388.aspx – BobSki
如果你可以保證'__',爲什麼不只是'str.Split(「__」)[1]' – Jonesopolis