2016-11-09 7 views
0

NHRM__Location__cからLocationまでの文字列を解析する必要があります。これは私の最初のロデオではないので、私は本当にばかげていると感じます。コードを配列に追加する必要はありません。 NHRMは、誰が使用しているかによって、app.configファイルのキーとなる、ある時点で変更される名前空間です。文字列から単語を解析する

私は__に文字列を分割して残りの単語を文字配列にロードし、その男をトリミングすることを考えていましたが、私は複雑なこと以上にわかりやすく感じるかもしれません。

+0

"これは重複している可能性があります。これはあなたがこれを投稿する前にあなたが答えを見出そうとしなかったことを意味しますか? – dfundako

+0

https://msdn.microsoft.com/en-us/library/ms228388.aspx – BobSki

+1

あなたが '__'を保証できるなら、' str.Split( "__")[1] ' – Jonesopolis

答えて

1
この

使用:

string sample = "NHRM__Location__c"; 
Console.WriteLine(sample.Split('_')[2]); 
+1

入力に2つのアンダースコアが続けてあり、1つのアンダースコアで分割しています。私はあなたが分割すると、[2]の位置にある単語が、[1]の位置ではなく、 "Location"という単語を持つ単語であることがわかります。また、メソッドは '分割'ではなく、 '分割' –

+0

それはありがとうございましたそれは場所2だった私は本当にダム感じる。私は会議の直後に答えを受け入れます。リフレッシャーに関しては親切です。 –

3

私はあなたがこのコードを使用するための.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); 
    } 
} 

私は、これは第一の答えに似ているけど、私はただ証明したかったですその[2]は、少なくともネットフィドルで私にとってはうまくいきます。

こちらがお役に立てば幸いです。

更新

可能System.String

戻り値 - 要素

そこでセパレータ内の1つのまたは複数の文字で区切られ、このインスタンスからサブストリングを含む配列コードを[4]に変更すると、それはちょうどc ..を返し、[0]はを返します。..配列の値にセパレータが含まれていません

+0

stringToSplit変数がOPと同じではありません。 – Bearcat9425

+0

あなたの入力がOPのものと異なるのでうまく動作します – Jonesopolis

+0

元の入力文字列に2つのアンダースコアが続いています。あなたには1つしかありません。 –

関連する問題