2010-03-16 4 views
0

Предположит, у меня есть строка, какКак найти максимальный индекс строки из переменной в C#?

 string[] _strFile; 

     foreach (ListViewItem item in listview1.Items) 
     { 
      string _strRecFileName = item.SubItems[5].Text; 
      _strFile = _strRecFileName.Split('\\'); 
     } 

в моем ListView У меня есть строка, как \ 123 \ а \ здравствуйте \ .net \ **** **** WinXP теперь я хочу, чтобы получить последние значение строки, т.е. winxp в этом случае. Какова функция для этого?

Могу ли я использовать функцию getupperbond для вычисления верхней границы строки и как ее использовать?

ответ

2
string[] files = _strRecFileName.Split('\\'); 
string lastElement = files[files.Length - 1]; 

Конечно, если вы имеете дело с реальными именами файлов и путями и прочим, это, вероятно, проще всего использовать Path класса:

string fileName = Path.GetFileName(_strRecFileName); 
0
String str = "\\123\\abc\\hello\\.net\\winxp"; 
String[] tokens = str.Split('\\'); 
String lastToken = tokens[tokens.Length - 1]; 
1

попробовать это:

string s = @"a\b\c\d\e"; 
int index = s.LastIndexOf('\\'); 
string fileName = s.Substring(index + 1); 

Вы только создать одну дополнительную строку в этом случае, так он будет использовать меньше памяти, чем массив строк. Но поскольку кодка сказал, что если текст является правильным путем, то класс Path будет лучше.

0

Вы всегда можете использовать регулярное выражение

string sub = System.Text.Regularexpressions.Regex.Match(TextVar,@"\\(\w+?)$").groups[1].value 
Смежные вопросы