2012-04-16 45 views
0

行,所以我有這樣的事情:用繩子工作和替換

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

回答

3

您可以使用此

str = str.Substring(str.LastIndexOf('.')+1); 
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

5

如何:

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

您可以在下面使用分割功能是這樣的:

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「; 謝謝..!

0

您可以使用正則表達式(正則表達式):

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

應用上述正則表達式,你就會有一組名爲「爲myGroup」它有最後一個點後的值

就個人而言,我這樣的選擇,因爲它可以讓你進一步擴展性,如有需要

如果你需要用正則表達式的進一步幫助,請告訴我

0

的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