2013-02-14 57 views
-5

全部,删除字符,c#

我有从Sharepoint检索的名称。这些名字我们在这个格式输出:

123;#David Putty 
67;#Brian Star 

数量是ID的,我不知道如何删除前几个字符高达并包括#号。

任何帮助将是伟大的。

谢谢!

+0

显示尤尔代码 - 它可以帮助我们无法猜测,并专注于您的情况。 – 2013-02-14 15:32:20

+0

看看'IndexOf' +'Substring' ..或'Split()'如果你喜欢。我认为斯普利特可能对你的情况很混乱。 – 2013-02-14 15:32:55

+0

尝试一下... – enguerran 2013-02-14 16:05:10

回答

0

有很多方法可以完成这个简单的任务。

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

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

s包含上面的数据。这将分离出三个领域。

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

0

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

string[] array = yourString.Split(';'); //yourString = 123;#David Putty 
string whatYouWant = array[1];   //#David Putty 
0

对于单线,可以使用子串并的IndexOf:

string line = "123;#David Putty"; 
line = line.Substring(line.IndexOf("#") + 1) 
1
string name = input.Split('#')[1]; 
2

的规范办法做到这一点是

不要自己处理字符串;使用正确的Sharepoint类来完成它。

如果您有相应SPWeb手,你甚至可以做

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

,但是这是没有必要只得到名称的一部分。

1

如果你正在写一个SharePoint解决方案,您可以使用SPFieldUserValue类,类似:

new SPFieldUserValue(web, "123;#David Putty").User.Name