全部,
我有从 Sharepoint 中检索到的名称。我们以这种格式输出的这些名称:
123;#David Putty
67;#Brian Star
数字是 ID,我不知道如何删除前几个字符,包括 # 符号。
任何帮助都会很棒。
谢谢!
全部,
我有从 Sharepoint 中检索到的名称。我们以这种格式输出的这些名称:
123;#David Putty
67;#Brian Star
数字是 ID,我不知道如何删除前几个字符,包括 # 符号。
任何帮助都会很棒。
谢谢!
做到这一点的规范方法是
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;
但这并不是仅仅获得名称部分所必需的。
string name = input.Split('#')[1];
如果您正在编写 Sharepoint 解决方案,则可以使用 SPFieldUserValue 类,例如:
new SPFieldUserValue(web, "123;#David Putty").User.Name
有很多方法可以完成这个微不足道的任务。
根据您的需要,我认为最简单的是:
string[] fields = s.Split(';');
其中s
包含上述数据。这将分离出三个字段。
除此之外,请参阅String.Substring()
提取字符串任何部分的方法。
拆分字符串;
并返回第二项:
string[] array = yourString.Split(';'); //yourString = 123;#David Putty
string whatYouWant = array[1]; //#David Putty
对于单行,您可以使用 Substring 和 IndexOf:
string line = "123;#David Putty";
line = line.Substring(line.IndexOf("#") + 1)