-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
string name = input.Split('#')[1];
于 2013-02-14T15:34:37.227 回答
1

如果您正在编写 Sharepoint 解决方案,则可以使用 SPFieldUserValue 类,例如:

new SPFieldUserValue(web, "123;#David Putty").User.Name
于 2013-02-14T15:37:51.453 回答
0

有很多方法可以完成这个微不足道的任务。

根据您的需要,我认为最简单的是:

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

其中s包含上述数据。这将分离出三个字段。

除此之外,请参阅String.Substring()提取字符串任何部分的方法。

于 2013-02-14T15:32:07.550 回答
0

拆分字符串;并返回第二项:

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

对于单行,您可以使用 Substring 和 IndexOf:

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