2010-04-06 4 views
-1

Il existe deux chaînes.Quelle sous-chaîne de la chaîne 1 correspond à la chaîne2

String str1="Order Number Order Time Trade Number";

String str2="Order Tm"; Je veux savoir que STR2 matchs avec lesquels la sous-chaîne dans str1.

string regex = Regex.Escape(str2.Replace(@"\ ", @"\s*"); 
bool isColumnNameMatched = Regex.IsMatch(str1, regex, RegexOptions.IgnoreCase); 

J'utilise regex parce que « Ordre MD » correspond aussi « Ordre Time » .Il donne une valeur bool qui a eu lieu les matches ou non.

Comme str2="Order Tm" puis il devrait retourner comme dans le str1, l'ordre de temps est la sous-chaîne où les correspondances se sont produites.

+0

Quelle est la question? – mfeingold

Répondre

2

Votre question n'est pas très claire et votre code n'est pas compilé.
Il y a quelques problèmes:

  1. Vous remplacez "\ " avec @"\s*" - mais vous devez simplement remplacer " " sans \
  2. Vous ne pouvez pas utiliser Regex.Escape() cette façon. Il doublera votre \ et aboutira à une autre regex qui ne fonctionne pas. Par exemple, votre \s* deviendra \\s*
  3. Il semble que vous souhaitiez ne faire correspondre qu'un seul mot (c'est là que votre question n'est pas claire). Dans ce cas, vous devez faire correspondre contre quelque chose comme "Order|Tm"
  4. Pour obtenir le mot correspondant à vous besoin d'un grouping construct:

Exemple:

var str1 = "Order Number Order Time Trade Number"; 
var str2 = "(Order|Tm)"; 
string regex = str2.Replace(@" ", @"\s*"); 
var match = Regex.Match(str1, regex); 

match.Success; // results in "true" 
match.Value; // results in "Order" 
+0

@ tanascius, merci monsieur, mais je ne peux pas comprendre pourquoi il y a Order | Tm? – Harikrishna

+0

@Harikrishna: C'est une 'construction d'alternance'. Vous pouvez jeter un oeil à l'URL aimé pour cela. Cela signifie que votre regex correspond soit 'Order' _ou' 'Tm' – tanascius

+0

Ok Monsieur Je l'ai compris, s'il y a une chaîne comme acheter/vendre et comment puis-je faire correspondre l'achat et la vente à cette chaîne? – Harikrishna

Questions connexes