Jump to content

[Resolvido] Trabalhar com Stringbuilder


2Fast4U
 Share

Recommended Posts

Boas

Estou a aprender C# e comecei a trabalhar com stringbuilder, mas não estou a conseguir fazer com que uma stringbuilder consiga cortar um string da maneira seguinte:

conteúdo da stringbuilder:

C:\Users\Public\Desktop\Google Chrome

gostaria que ficasse somente com o:

Google Chrome

ou seja que removesse todo o texto ate a ultima barra lateral ("\");

os caminhos das stringbuilder são sempre diferentes.

Link to comment
Share on other sites

Olá,

O objectivo da class StringBuilder é o de construir strings (ora fazendo insert ou append) e não o de manipular strings.

Para fazeres o que pretendes tens de criar uma string com o conteúdo da stringbuilder e:

a) ou fazes tratamento de strings (com indexof / lastindexof e substring)

b) ou fazes um split da string para um array de strings usando como separador a barra.

A última posição do array vai ter a informação que pretendes.

Atenção:

Se o conteúdo da stringbuilder for C:\Users\Public\Desktop\Google Chrome\ (com uma útilma barra no fim) poderás ter problemas - deves garantir que queres a última posição não vazia do array.

Espero ter ajudado.

Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Link to comment
Share on other sites

Bom já consegui obrigado pela dica Rechousa

Deixo aqui o código caso alguém tenha a necessidade de usar o mesmo algoritmo:

string y = stringWork.ToString();

string[] words = y.Split('\\');
txtMain.AppendText( words[words.Length-1]);

PS: stringWork é uma stringbuilder

Link to comment
Share on other sites

Boas

Só uma dica,podes fazer isso com Split de strings e automaticamente ele elimina os índices vazios do array:

string[] words = stringWork.ToString().Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries);

O literal "@" é utilizado mesmo para permitiir caracteres de escape como a barra "\" sem repetir (@"\").

Cumps

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.