Announcement

Collapse
No announcement yet.

suche Wörter, die groß geschrieben sind

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • suche Wörter, die groß geschrieben sind

    Hallo ich in einer List con String wörter, die groß geschrieben sind
    ich benutze diese regex @"\b[A-Z]+\b" und es funktioniert fast
    gut nur das ich bekomme auch wörter mit sonderzeichen wie "(I)"
    obwohl ich nur wörter ohne sonderzeichen suche.

  • #2
    Seit wann ist ein I ein Sonderzeichen?
    Zuletzt editiert von Christian Marquardt; 08.02.2013, 16:16.
    Christian

    Comment


    • #3
      Nicht I ist sonderzeichen sondern die klammer
      Originally posted by Christian Marquardt View Post
      Seit wann ist ein I ein Sonderzeichen?

      Comment


      • #4
        http://www.regexplanet.com/advanced/java/index.html

        oder auch

        http://derekslager.com/blog/posts/20...on-tester.ashx

        findet

        bei ASDCFDSFSD eben ASDCFDSFSD

        bei (G)SDADS SSSD eben G, SDADS und SSSD
        Christian

        Comment


        • #5
          Hier meine lösung um wörter in der Liste zu finden, die Großbuchstaben enthalten:

          [highlight=csharp]
          var a = new List<string> { "Hallo", "hallo", "Ciao", "ciao" };
          foreach (var word in a)
          {
          if (word.ToLower() != word)
          MessageBox.Show(word);
          }
          [/highlight]

          Comment


          • #6
            Abgesehen davon, dass der Beitrag steinalt ist, ist die Lösung nicht zielführend. Der TE möchte nur Wörter finden, die am Anfang groß sind. Deine Lösung wird bei "cIAo" und "ciao" nicht passen
            Christian

            Comment


            • #7
              sorry, das konnte ich da oben tatsächlich nicht als anforderung herauslesen...

              Comment


              • #8
                Naja, warum sollte man auf den Wortanfang innerhalb einer RegEx prüfen, wenn man nur wissen will, ob innerhalb eines String Großbuchstaben drin sind.....
                Christian

                Comment


                • #9
                  Na dann sollte das nun alle mögliche lösungen liefern, oder?

                  [highlight=csharp]
                  var a = new List<string> { "Hallo", "hallo", "(C)iao", "ciao", "haLlo", "hallO", "cIao", "ciAo" };
                  var checkForSymbols = false;
                  var checkWholeWord = false;
                  foreach (var t in a)
                  {
                  var word = t;
                  if (checkForSymbols ) // true wenn sonderzeichen entfernt werden sollen...
                  {
                  const string regexPattern = @"^[^A-Za-z_]+|\W+";
                  word = Regex.Replace(t, regexPattern, String.Empty);
                  }
                  if (checkWholeWord)
                  {
                  if (word.ToLower()[0] != word[0])
                  {
                  MessageBox.Show(word);
                  }
                  }
                  else
                  {
                  if (word.ToLower() != word)
                  {
                  MessageBox.Show(word);
                  }
                  }
                  }
                  [/highlight]
                  Zuletzt editiert von Nooa; 19.07.2013, 14:39.

                  Comment


                  • #10
                    Viele Wege führen nach Rom. Jedoch deine Routine prüft ein Wort.....

                    Gehe doch mal von "Hallo Welt hallo welt Auto aUTo" aus, und du willst nur die am Anfang großgeschriebenen Worte haben. Da ist eine RegEx praktischer

                    "\\b([A-Z].*?)\\b"

                    pic.jpg
                    Christian

                    Comment

                    Working...
                    X