2014-02-20 94 views
1

嗨,大家好,我想一个特殊字符后修剪字符串..修剪在C#中的字符串

可以说该字符串str="arjunmenon.uking" 我想.后得到的人物而忽略其他。即所产生的字符串必须是restr="uking"

+0

查找与'IndexOf'相关指数,并用“删除”方法修剪。 –

+0

“特殊字符”是什么意思?你为什么不说,我想修整一个点后的字符串。 –

+0

顺便说一句,它不是你想要的修剪,它被拆分 – Shide

回答

5

如何:

string foo = str.EverythingAfter('.'); 

使用:

public static string EverythingAfter(this string value, char c) 
{ 
    if(string.IsNullOrEmpty(value)) return value; 
    int idx = value.IndexOf(c); 
    return idx < 0 ? "" : value.Substring(idx + 1); 
} 
+0

这个将返回'arjunmenon'作为样本输入。 – MarcinJuraszek

+1

@MarcinJuraszek哎呀!修复 –

+0

另一种可能性是即使在idx为'-1'时也使用'value.Substring(idx + 1)'。但这取决于他如何解释这个案例。 –

0

尝试Regular Expression Language

using System.IO; 
using System; 
using System.Text.RegularExpressions; 

class Program 
{ 
    static void Main() 
    { 
     string input = "arjunmenon.uking"; 
     string pattern = @"[a-zA-Z0-9].*\.([a-zA-Z0-9].*)"; 

     foreach (Match match in Regex.Matches(input, pattern)) 
     { 
     Console.WriteLine(match.Value); 
     if (match.Groups.Count > 1) 
      for (int ctr = 1; ctr < match.Groups.Count; ctr++) 
       Console.WriteLine(" Group {0}: {1}", ctr, match.Groups[ctr].Value); 
     } 

    } 
} 

Result: 
arjunmenon.uking 
    Group 1: uking 
0

使用拆分功能 试试这个

string[] restr = str.Split('.'); 
//restr[0] contains arjunmenon 
//restr[1] contains uking 
0
char special = '.'; 

var restr = str.Substring(str.IndexOf(special) + 1).Trim(); 
0

不喜欢使用索引的方法,这个可以让你不要使用空字符串验证,以及您的特殊卡拉科特的存在,并具有空字符串或字符串时不会引发异常不包含特殊卡拉科特:

string str = "arjunmenon.uking"; 
string restr = str.Split('.').Last(); 

你会发现所有的信息,你需要在这里:http://msdn.microsoft.com/fr-fr/library/b873y76a(v=vs.110).aspx

欢呼

1

您可以像使用

string input = "arjunmenon.uking"; 
int index = input.LastIndexOf("."); 
input = input.Substring(index+1, input.Split('.')[1].ToString().Length ); 
0

就个人而言,我不会做分割,去所得数组中的指数[1],如果你已经知道你的正确的东西,是在指数[1]在分割的字符串中,那么为什么不直接用你想要“提取”的值声明一个常量?

做出分割后,只需获取数组中的最后项。

string separator = "."; 
string text = "my.string.is.evil"; 
string[] parts = text.Split(separator); 

string restr = parts[parts.length - 1]; 

变量restr会= “恶”

0
string str = "arjunmenon.uking"; 
string[] splitStr = str.Split('.'); 
string restr = splitStr[1]; 
0

我认为最简单的方法将是这样的:

string restr, str = "arjunmenon.uking"; 
restr = str.Substring(str.LastIndexOf('.') + 1);