<?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 parsen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen String, der ungefähr so aussiegt:</p>
<p>string s = &quot;Z12 hallo x13req test blek 45265Z&quot;;</p>
<p>Dieser String soll dekotiert werden, ich möchte also den string s parsen und wenn z.B.: ein Z12 vorkommt, dann dies ersetzen durch Z12 -&gt; &quot;Herr&quot;, das gleiche mit hallo -&gt; Hallo.</p>
<p>Im endeffekt soll eben in string s der dekotierte string stehen.<br />
Gibt es in C++ mittels Bordmitteln eine einfache Möglichkeit, das zu machen?<br />
Vielen Dank,<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257074/string-parsen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 15:14:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257074.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Dec 2009 12:11:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 12:11:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen String, der ungefähr so aussiegt:</p>
<p>string s = &quot;Z12 hallo x13req test blek 45265Z&quot;;</p>
<p>Dieser String soll dekotiert werden, ich möchte also den string s parsen und wenn z.B.: ein Z12 vorkommt, dann dies ersetzen durch Z12 -&gt; &quot;Herr&quot;, das gleiche mit hallo -&gt; Hallo.</p>
<p>Im endeffekt soll eben in string s der dekotierte string stehen.<br />
Gibt es in C++ mittels Bordmitteln eine einfache Möglichkeit, das zu machen?<br />
Vielen Dank,<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826321</guid><dc:creator><![CDATA[Generic1]]></dc:creator><pubDate>Tue, 22 Dec 2009 12:11:06 GMT</pubDate></item><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 12:34:40 GMT]]></title><description><![CDATA[<p>Ich denke für einfache Sachen kannst du die Funktionalitäten von <code>string</code> benutzen:<br />
<a href="http://www.cplusplus.com/reference/string/string/replace/" rel="nofollow">http://www.cplusplus.com/reference/string/string/replace/</a></p>
<p>Für komplexere Sachen dann eher Regex, wie es z.B boost anbietet:<br />
<a href="http://www.boost.org/doc/libs/1_40_0/libs/regex/doc/html/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_40_0/libs/regex/doc/html/index.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826334</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Dec 2009 12:34:40 GMT</pubDate></item><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 12:34:45 GMT]]></title><description><![CDATA[<p>Für einen schnellen Hack reichen die Funktionen von String:<br />
<a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a></p>
<p>Aber eine ordentliche Lösung würde ich mit boost::regex machen. Es lohnt sich<br />
jedenfalls, sich da einzuarbeiten, da solche Probleme immer wieder vorkommen.</p>
<p><a href="http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/html/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/html/index.html</a></p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826336</guid><dc:creator><![CDATA[bts2]]></dc:creator><pubDate>Tue, 22 Dec 2009 12:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 12:35:21 GMT]]></title><description><![CDATA[<p>string.replace() sollte das Richtige für dich sein, sofern die beiden Teilstrings jeweils konstant sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826337</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 22 Dec 2009 12:35:21 GMT</pubDate></item><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 13:06:00 GMT]]></title><description><![CDATA[<p>oder std::tr1::regex ...</p>
<p>Wobei ich nicht sagen kann, wieviel das im Gegensatz zu boost::regex an Funktionalität bietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826354</guid><dc:creator><![CDATA[R3dNeXX]]></dc:creator><pubDate>Tue, 22 Dec 2009 13:06:00 GMT</pubDate></item><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 14:54:09 GMT]]></title><description><![CDATA[<p>Generic1 schrieb:</p>
<blockquote>
<p>Gibt es in C++ mittels Bordmitteln eine einfache Möglichkeit, das zu machen?</p>
</blockquote>
<p>Wie schon erwähnt wurde (nur 3 Mal :)), kannst du für wörtliches Ersetzen <code>std::string::replace()</code> nehmen. Vorher kannst du mit <code>std::string::find()</code> die Indizes herausfinden. Um eine Tabelle von zu ersetzenden und ersetzten Strings zu erstellen, empfiehlt sich der assoziative STL-Container <code>std::map</code> :</p>
<pre><code class="language-cpp">std::map&lt;std::string, std::string&gt; replace_table;
replace_table[&quot;Z12&quot;] = &quot;Herr&quot;;
replace_table[&quot;hallo&quot;] = &quot;Hallo&quot;;
</code></pre>
<p>Wenn es sich nur um Stringliterale wie hier handelt, kannst du auch <code>const char*</code> nehmen.</p>
<p>P.S.: Interessant, wie ähnlich sich zwei um 5 Sekunden versetzte Posts sind. :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826425</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Dec 2009 14:54:09 GMT</pubDate></item><item><title><![CDATA[Reply to String parsen on Tue, 22 Dec 2009 16:10:45 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>P.S.: Interessant, wie ähnlich sich zwei um 5 Sekunden versetzte Posts sind. :xmas1:</p>
</blockquote>
<p>Das dachte ich eben auch. <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="😉"
    /><br />
Und ob dus glaubs oder nicht ich wollte ebenfalls noch hinschreiben, dass sich das einarbeiten in Regex sich auf jeden Fall lohnt, auch wenn es atm ein wenig Overkill ist. Damit wären die Posts noch ähnlicher geworden.. :p<br />
(Wir beide haben so etwas ja auch schon mal geschafft. ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1826465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826465</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 22 Dec 2009 16:10:45 GMT</pubDate></item></channel></rss>