用绳子工作和替换

问题描述:

行,所以我有这样的事情:用绳子工作和替换

String str = "Have.Fun.Something"; 
String str2 = "asd.sad.saw.sa.Something"; 

,我想删除最后一个字符的所有事情,直到第一个“”所以输出将永远

东西

+0

我tryied str.Replace( “Have.Fun。”, “”) – Endiss 2012-04-16 13:03:03

+0

会不会有永远是一个 ''? – Scroog1 2012-04-16 13:25:21

您可以使用此

str = str.Substring(str.LastIndexOf('.')+1); 

有对字符串的实例有用的方法一大堆。您最好看的地方是MSDN

在你的具体情况下,你可以使用substring和lastindexof。如果案件更复杂,我可能会建议RegEx,尽管这涉及更多。

String str2 = str.SubString(str.LastIndexOf('.') + 1); 
+1

你会得到“.Something” – Likurg 2012-04-16 13:04:32

+0

@Likurg:真的!我已经更新了答案 – Ian 2012-04-16 13:05:17

+3

或者例外,如果没有'。'会被发现。 – lorond 2012-04-16 13:05:37

如何:

str.Split('.').Last(); 

您可以在下面使用分割功能是这样的:

String str = "Have.Fun.Something"; 
String str2 = "asd.sad.saw.sa.Something"; 

string[] Words= str.Split('.'); 

MessageBox.Show(Words[Words.Length-1].tostring()); 

得到如下这样

东西

同字符串str2 =“asd.sad.saw.s a.Something“; 谢谢..!

您可以使用正则表达式(正则表达式):

(?:.*)\.(?<myGroup>.*) 

应用上述正则表达式,你就会有一组名为“为myGroup”它有最后一个点后的值

就个人而言,我这样的选择,因为它可以让你进一步扩展性,如有需要

如果你需要用正则表达式的进一步帮助,请告诉我

的Bug免费Appro公司ACH

public static string Substring(string input) 
{ 
    if (!String.IsNullOrEmpty(input)) 
    { 
     int lastIndex = input.LastIndexOf('.'); 
     if (lastIndex != -1) 
      return input.Substring(lastIndex + 1); 
    } 

    return input; 
} 
+0

它真的没有bug?它会为“你好”做什么。 – Ian 2012-04-16 13:53:34