Comment insérer une valeur dans une chaîne de caractères à certaines positions c#
J'ai un programme qui récupère une chaîne à partir d'une méthode.
Je veux savoir comment faire pour insérer une chaîne de valeur à la corde à certains postes.
Par exemple:
mystring = "column1 in('a','b')column2 in('c','d')column3 in('e','f')";
Ici, comment pourrais-je insérer la chaîne de valeur " et " après chaque occurrence du caractère ')' dans mystring
?
PS. Si possible, inclure également comment ne pas l'insérer à la fin.
Pensez-vous vraiment dire: mystring = "colonne1 dans('a','b')colonne2 dans('c','d')colonne3 dans('e','f')" ?
S'il vous plaît dites que vous savez à propos de l'injection sql. S'il vous plaît.
Je ne sais à propos de l'injection sql. Ici, im obtenir des données à partir de listes déroulantes, donc il n'est pas vraiment une chance de l'injection sql...droit?
Peut-être... si c'est ASP.Net vous ne pouvez pas faire confiance les listes déroulantes. Si c'est winforms, vous pouvez compter sur les boîtes, mais vous devez savoir si vous pouvez faire confiance à la source pour les boîtes.
Si c'est n'importe quel service web, vous ne pouvez pas faire confiance à la liste des boîtes, car il n'y a aucune garantie que le de HTTP GET/POST, vous recevez était en fait créés à l'aide de ces zones de liste.
S'il vous plaît dites que vous savez à propos de l'injection sql. S'il vous plaît.
Je ne sais à propos de l'injection sql. Ici, im obtenir des données à partir de listes déroulantes, donc il n'est pas vraiment une chance de l'injection sql...droit?
Peut-être... si c'est ASP.Net vous ne pouvez pas faire confiance les listes déroulantes. Si c'est winforms, vous pouvez compter sur les boîtes, mais vous devez savoir si vous pouvez faire confiance à la source pour les boîtes.
Si c'est n'importe quel service web, vous ne pouvez pas faire confiance à la liste des boîtes, car il n'y a aucune garantie que le de HTTP GET/POST, vous recevez était en fait créés à l'aide de ces zones de liste.
OriginalL'auteur zohair | 2009-03-12
Vous devez vous connecter pour publier un commentaire.
Vous pourriez faire cela avec la remplacer..
:
Oui je devrais l'ai mentionné qu'il travaille pour le cas en question, mais il pourrait être involontaire des effets secondaires si la fin de la chaîne contient des caractères dans le trimend qui ne sont pas destinés à être supprimés.
OriginalL'auteur Quintin Robinson
Probablement le plus simple:
OriginalL'auteur Joel
Les chaînes sont immuables, de sorte que vous ne peut pas "juste" changer la valeur de cette chaîne.
Chaque modification que vous souhaitez apporter à une chaîne, conduit à une nouvelle instance d'une chaîne de caractères.
C'est peut-être comment vous pourriez obtenir ce que vous voulez:
Mais peut-être qu'il y a de meilleures solutions ...
De toute façon, comment pouvez-vous recevoir cette chaîne (qui ressemble à une partie de la clause where d'une instruction sql)?
OriginalL'auteur Frederik Gheysels
Si vous voulez dire, et je vais prendre votre chaîne littéralement et comme il vient:
Ensuite, vous pouvez simplement faire:
Qui aurait pour résultat:
C'est en supposant que vous ne voulez pas une fin "et".
OriginalL'auteur Kev
La
.+$
partie de l'expression régulière garantit que la parenthèse fermante n'est pas à la fin de la ligne. Si vous allez faire ceci, souvent, je vous recommande la création et la persistance d'unRegex
objet de la répétition.EDIT: Viens de réaliser que je suis un idiot. Fixe les motifs ci-dessus à partir de
"\\).+$"
à"\\)(?=.+$)"
, de sorte que le.+$
partie n'est pas inclus (et donc remplacé) dans le match.Donc, parce que vous ne savez pas ce regex est - vous êtes juste à la radiation de son commentaire? Wow.
OriginalL'auteur jdmichal