C# - Remplacer un personnage de rien
J'ai un RichTextBox
qui ressemble à ceci:
TEXT NEXT_TEXT 10.505 -174.994 0
TEXT NEXT_TEXT 100.005 174.994 90
TEXT NEXT_TEXT -10.000 -5.555 180
TEXT NEXT_TEXT -500.987 5.123 270
TEXT NEXT_TEXT 987.123 1.000 180
TEXT NEXT_TEXT 234.567 200.999 90
et je veux remplacer le "." avec rien et la placer dans un ListBox
...
De sorte que le nouveau fichier devrait ressembler à ceci:
TEXT NEXT_TEXT 10505 -174994 0
TEXT NEXT_TEXT 100005 174994 90
TEXT NEXT_TEXT -10000 -5555 180
TEXT NEXT_TEXT -500987 5123 270
TEXT NEXT_TEXT 987123 1000 180
TEXT NEXT_TEXT 234567 200999 90
J'ai pensé à multiplier les valeurs par 1000 mais je ne sais pas comment bien faire correspondre les calculs sur une chaîne.
De sorte que la prochaine pensée a été pour ce faire (TOUTEFOIS, CELA NE fonctionne PAS):
//Splits the lines in the rich text boxes
string[] listOneLines = oneRichTextBox.Text.Split('\n');
//Set the selection mode to multiple and extended.
placementOneListBox.SelectionMode = SelectionMode.MultiExtended;
//Shutdown the painting of the ListBox as items are added.
placementOneListBox.BeginUpdate();
//Display the items in the listbox.
foreach (var item in listOneLines)
{
item.Replace(".","");
placementOneListBox.Items.Add(item);
}
//Allow the ListBox to repaint and display the new items.
placementOneListBox.EndUpdate();
- Quelqu'un peut-il m'aider à comprendre comment faire pour remplacer un "."?
- string temp = texte.Replace(".", ""); où le texte est le texte complet de la RTB
Vous devez vous connecter pour publier un commentaire.
Les chaînes sont immuables si cette ligne est fausse:
Ce retourne une chaîne de caractères après le remplacement a été fait, mais
item
est inchangé. Vous avez besoin de ceci:Au lieu de "" utiliser des chaînes de caractères.Vide.
De cette façon, il n'y a pas de nouvel objet créé.
Vous devez utiliser le résultat de
Replace
, elle ne fonctionne pas sur la chaîne elle-même.Au lieu de:
Essayez ceci:
item = item.Remplacer(".", "");(edit: c'était mon idée de départ, mais c'est faux)foreach
variable de boucle.Les chaînes sont immuables, donc
ne pas modifier le point, mais renvoie une nouvelle chaîne de caractères.
Vous devez utiliser:
Edit: et comme vous pouvez le voir à partir de l'apparition simultanée de réponses, beaucoup de nos camarades d'accord! 😉
Remplacer votre foyer:
avec ceci:
foreach
variable de boucle.Comment sur
//Divise les lignes dans les zones de texte riche
string[] listOneLines = oneRichTextBox.Texte.Replace(".","").Split('\n');