<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[String.Find - Frage]]></title><description><![CDATA[<p>Moin moin,<br />
es geht um folgendes Problemchen: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Ich habe eine Textdatei zeilenweise eingelesen und in einem string gespeichert. Nun möchte ich diesen string nach bestimmten Zeichen durchsuchen.<br />
Wie man zum Beispiel in &quot;Hallo du&quot; das &quot;ll&quot; findet ist mir klar, kann man aber auch folgendes machen: Ich meinem string steht FA01 und FA76 und FA33 usw usw..<br />
und ich möchte suchen nach FA[ZAHL]...</p>
<p>Mir geht es also darum nach FA und &quot;EINER ZAHL&quot; zu suchen und nicht nach FA und &quot;EINER BESTIMMTEN ZAHL&quot; ...um alle ergebnisse zu bekommen.</p>
<p>Wenn man reguläre Ausdrücke benutzen könnte wäre das ja alles kein problem (z.B. [0-9] ect...), aber mir ist nicht bekannt dass das in C++ geht.</p>
<p>Kann mir wer weiter helfen mein Problem zu lösen?<br />
Hoffe ich habe das einigermaßen verständlich formuliert, sonst gern nochmal nachfragen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Mfg monoBob</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195282/string-find-frage</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 21:55:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195282.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Oct 2007 09:24:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:24:59 GMT]]></title><description><![CDATA[<p>Moin moin,<br />
es geht um folgendes Problemchen: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Ich habe eine Textdatei zeilenweise eingelesen und in einem string gespeichert. Nun möchte ich diesen string nach bestimmten Zeichen durchsuchen.<br />
Wie man zum Beispiel in &quot;Hallo du&quot; das &quot;ll&quot; findet ist mir klar, kann man aber auch folgendes machen: Ich meinem string steht FA01 und FA76 und FA33 usw usw..<br />
und ich möchte suchen nach FA[ZAHL]...</p>
<p>Mir geht es also darum nach FA und &quot;EINER ZAHL&quot; zu suchen und nicht nach FA und &quot;EINER BESTIMMTEN ZAHL&quot; ...um alle ergebnisse zu bekommen.</p>
<p>Wenn man reguläre Ausdrücke benutzen könnte wäre das ja alles kein problem (z.B. [0-9] ect...), aber mir ist nicht bekannt dass das in C++ geht.</p>
<p>Kann mir wer weiter helfen mein Problem zu lösen?<br />
Hoffe ich habe das einigermaßen verständlich formuliert, sonst gern nochmal nachfragen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Mfg monoBob</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386168</guid><dc:creator><![CDATA[monoBob]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:27:14 GMT]]></title><description><![CDATA[<p>Ich meine mich erinnern zu koennen, dass es in boost was mit regexp gab. Schlimmstenfalls kann dir immernoch boost::spirit helfen, wengleich es etwas unfair sein duerte, ein ganzes parser-framework auf einen armen kleinen String zu jagen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386172</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:27:14 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:29:30 GMT]]></title><description><![CDATA[<p>Mit reinem C++ geht das nicht, aber wenn vorhanden, könntest du eine eigene Bibliothek für reguläre Ausdrücke verwenden (im Zweifelsfall boost::spirit - auch wenn das hier etwas übertrieben wäre).</p>
<p>Ansonsten hast du noch eine Alternative - such' nach &quot;FA&quot; und überprüfe anschließend, ob direkt dahinter eine Zahl folgt (wenn nicht - nächstes Vorkommen suchen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386174</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:29:30 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:30:06 GMT]]></title><description><![CDATA[<p>danke erstmal für die blitzschnelle antwort!<br />
ich werde mir das mal anschauen.</p>
<p>Gruß monoBob</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386177</guid><dc:creator><![CDATA[monoBob]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:30:31 GMT]]></title><description><![CDATA[<p>Entweder Du benutzt boost::regexp für reguläre Ausdrücke<br />
oder Du suchst nach 'FA' und wertest die nächsten 2 Zeichen als Zahl (soweit denn immer nach FA eine Zahl folgt, die 2 Ziffern lang ist)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386178</guid><dc:creator><![CDATA[~Airdamn]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:38:08 GMT]]></title><description><![CDATA[<p>boost sieht ziemlich kompliziert aus. mache das dann wohl eher so dass ich gucke ob nach FA Zahlen folgen. Funktioniert das dann überhaupt wenn ich zeilenweise einlese. Bzw. wie funktioniert das? Kann mir das grad noch nicht genau vorstellen. Also die erste Abfrage sucht nach FA und dann..?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386184</guid><dc:creator><![CDATA[monoBob]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:38:08 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:45:43 GMT]]></title><description><![CDATA[<p>Solange der Zeilenumbruch nicht zwischen dem &quot;FA&quot; und der dazugehörigen Zahl kommt, ist es effektiv egal, wie du die Daten einliest.</p>
<p>Letztlich sieht das so aus:</p>
<pre><code class="language-cpp">size_t pos = data.find(&quot;FA&quot;);
while(pos!=string::npos)//wenn das hier zuschlägt, kam kein &quot;FA&quot;+Zahl in der Eingabe vor
{
  if(isdigit(data[pos+2]))
  {
    //gültige Folge gefunden
    ...
    break;
  }
  pos = data.find(&quot;FA&quot;,pos+1);//nächster Versuch
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1386194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386194</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:45:43 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 09:49:08 GMT]]></title><description><![CDATA[<p>ne, boost is dafür eig relativ einfach, musst boost nur erstmal kompilieren, das is vielleicht schwer für nen anfänger.</p>
<pre><code class="language-cpp">boost::regex reg(&quot;FA\\d\\d&quot;);
boost::smatch match;
if(boost::regex_match(&quot;FA45&quot;, match, reg))
  cout &lt;&lt; match[1] &lt;&lt; endl;
</code></pre>
<p>so in etwa. Aber jetzt keine garantie für richtigkeit, hab das nur ausm gedächtnis geschrieben. Aber so im groben macht man das so mit boost</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386197</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:49:08 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 12:24:02 GMT]]></title><description><![CDATA[<p>Wo ist dein Problem? Hast du denn eine Feste Länge für die Zahlen?<br />
Dann pseudocode:</p>
<pre><code class="language-cpp">std::string tmp(&quot;FA23;FA;FA1A;FA39&quot;);
std::vector&lt;std::string&gt; data;
for (std::size_t i = tmp.find(&quot;FA&quot;); i &lt; std::string::npos; tmp.find(&quot;FA&quot;, ++i))
{
    std::size_t pos_digit = tmp.substr(i + 2, 2).find_first_not_of(&quot;0123456789&quot;);
    if (pos_digit == std::string::npos)
        data.push_back(tmp.substr(i, (i += 4)));
}
</code></pre>
<p>... wäre jetzt bsw. wenn dein Suchstring &quot;FA&quot; (2 Zeichen) und die Zahlenfolge danach den Wertebereich 00 - 99 hat (2 Zeichen) ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386324</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 16 Oct 2007 12:24:02 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 13:48:21 GMT]]></title><description><![CDATA[<p>Maxi schrieb:</p>
<blockquote>
<p>ne, boost is dafür eig relativ einfach, musst boost nur erstmal kompilieren, das is vielleicht schwer für nen anfänger.</p>
</blockquote>
<p>Hm, soweit ich das der boost doku entnehmen konnte ist das meiste dort pures templategewurschtel, daher nur Header und nichts, was erst kompiliert werden muesste, von ein oder zwei Ausnahmen mal abgesehen (ich glaube regexp und spirit gehoeren nicht zu den Ausnahmen). Also einfach laden und benutzen - bleibt nur, die include-pfade richtig zu setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386419</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 16 Oct 2007 13:48:21 GMT</pubDate></item><item><title><![CDATA[Reply to String.Find - Frage on Tue, 16 Oct 2007 14:05:29 GMT]]></title><description><![CDATA[<p>ja pumuckl, im allgemeinen hast du recht, allerdings gehört regex zu den dingen die kompiliert werden müssen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> ob spririt auch kompiliert werden muss weiß ich jetz nicht, aber mein linker will immer ein regex-lib haben die man nur durch kompilieren erhält.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386441</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Tue, 16 Oct 2007 14:05:29 GMT</pubDate></item></channel></rss>