-5

全て、

Sharepoint から取得した名前があります。これらの名前は、次の形式で出力されます。

123;#David Putty
67;#Brian Star

番号は ID であり、# 記号を含む最初の数文字を削除する方法がわかりません。

どんな助けでも素晴らしいでしょう。

ありがとう!

4

6 に答える 6

2

これを行う標準的な方法は次のとおりです。

var spflv = new SPFieldLookupValue(yourString);
int intPart = spflv.LookupId;
string stringPart = spflv.LookupValue;

文字列を自分で処理しないでください。それを行うには、正しいSharepointクラスを使用してください。

対応SPWebする手札があればできる

var spfuv = new SPFieldUserValue(yourWeb, yourString);
int intPart = spfuv.LookupId;
string stringPart = spfuv.LookupValue;
SPUser user = spfuv.User;

ただし、これは名前部分を取得するだけでは必要ありません。

于 2013-02-14T15:35:05.373 に答える
1

SharePoint ソリューションを作成している場合は、次のような SPFieldUserValue クラスを使用できます。

new SPFieldUserValue(web, "123;#David Putty").User.Name
于 2013-02-14T15:37:51.453 に答える
1
string name = input.Split('#')[1];
于 2013-02-14T15:34:37.227 に答える
0

この些細な作業を実行する方法はたくさんあります。

あなたのニーズに応じて、私は最も簡単だと思います:

string[] fields = s.Split(';');

s上記のデータはどこに含まれていますか。これにより、3つのフィールドが分​​離されます。

String.Substring()それを超えて、文字列の任意の部分を抽出する方法を参照してください。

于 2013-02-14T15:32:07.550 に答える
0

文字列を分割し;、2 番目の項目を返します。

string[] array = yourString.Split(';'); //yourString = 123;#David Putty
string whatYouWant = array[1];          //#David Putty
于 2013-02-14T15:33:49.153 に答える
0

1 行の場合、Substring と IndexOf を使用できます。

string line = "123;#David Putty";
line = line.Substring(line.IndexOf("#") + 1)
于 2013-02-14T15:33:54.257 に答える