2008-09-29 4 views

Antwort

4

Dies scheint ...

C#

Regex MyRegex = new Regex("\\#\\w+"); 
MatchCollection ms = MyRegex.Matches(InputText); 

oder vb.net

Dim MyRegex as Regex = new Regex("\#\w+") 
Dim ms as MatchCollection = MyRegex.Matches(InputText) 

Eingabe zu arbeiten Text von ...

„asdfas asdf #asdf asd fas df asd fas #df asd f asdf "

... dies ergeben ....

„#asdf“ und „#df“

Ich werde dich gewähren, dass dies nicht ein String Array bekommt aber die Match ist abzählbar und so könnte gut genug sein.


Zusätzlich werde ich hinzufügen, dass ich diese bekam durch den Einsatz von Expresso. das scheint frei zu sein. Es war sehr hilfreich bei der Herstellung der C#, die ich sehr arm bin. (Dh es hat für mich die Flucht.) (Wenn jemand denkt, sollte ich diese pseudo-Anzeige entfernen Sie bitte kommentieren, aber ich dachte, dass es hilfreich sein könnte :) Gute Zeiten)

1

Da Sie die Wörter in der geteilten einschließen möchten Sie so etwas wie

"\b#\w+\b" 

Dies beinhaltet die eigentliche Wort es in dem Ausdruck verwendet werden soll. Aber ich bin mir nicht sicher, ob du das willst. Können Sie ein Beispiel für die Eingabe und die gewünschte Ausgabe angeben?

1

Mit PHP preg_match_all():

$text = 'Test #string testing #my test #text.'; 
preg_match_all('/#[\S]+/', $text, $matches); 

echo '<pre>'; 
print_r($matches[0]); 
echo '</pre>'; 

Ausgänge:

 
Array 
(
    [0] => #string 
    [1] => #my 
    [2] => #text. 
) 
0

Hier ist ein Code in Javascript ist:

text = "what #regEx can I use to #split a #string into whole words but only" 
// what #regEx can I use to #split a #string into whole words but only" 
text.match(/#\w+/g); 
// [#regEx,#split,#string] 
0

In Microsoft Regex Aromen, versuchen Sie: "\ #: w"

Das funktionierte für mich mit Find in Visual Studio. Ich weiß nicht, wie es in die Regex-Klasse übersetzt wird.

EDIT: Backslash wurde verschluckt.

Verwandte Themen