Add OOP solutions.
This commit is contained in:
parent
b03b89f316
commit
1958ac94f5
@ -1738,24 +1738,12 @@
|
||||
"print(r)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Fügen Sie hier Ihren Code für \n",
|
||||
"\n",
|
||||
"some_str = ExtendedString('Das ist ein Test, oder etwa nicht?')\n",
|
||||
"print(some_str.multisplit(' ?,'))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 9.3. <a id='toc9_3_'></a>[Aufgabe](#toc0_)\n",
|
||||
"Erstellen Sie eine Klasse `ExtendedString`, die die gleiche Funktionalität wie die originale `str`-Klasse anbietet, deren `split`-Funktion jedoch einen zusätzlichen Parameter `multi` anbietet. Wird `multi` nicht angegeben oder ist es auf `False` gesetzt, verhält sich `split` wie in der originalen `str`-Klasse. Ist `multi` jedoch auf `True` gesetzt, wird der jeweilige String an jedem Character des Separator-Strings geteilt. Das Argument `maxsplit` kann in diesem Fall der Einfachheit halber ignoriert werden.\n",
|
||||
"Erstellen Sie eine Klasse `ExtendedString`, die die gleiche Funktionalität wie die originale `str`-Klasse anbietet. Wird `multi_split` jedoch aufgerufen, wird der jeweilige String an jedem Character des Separator-Strings geteilt.\n",
|
||||
"\n",
|
||||
"**Beispiel**\n",
|
||||
"\n",
|
||||
@ -1765,7 +1753,7 @@
|
||||
"<br/>\n",
|
||||
"`print(some_str.split(' ?,'))` gibt `['Das ist ein Test, oder etwa nicht?']` aus.\n",
|
||||
"<br/>\n",
|
||||
"`print(some_str.split(' ?,', multi=True))` gibt `['Das', 'ist', 'ein', 'Test', 'oder', 'etwa', 'nicht']` aus.\n",
|
||||
"`print(some_str.multi_split(' ?,'))` gibt `['Das', 'ist', 'ein', 'Test', 'oder', 'etwa', 'nicht']` aus.\n",
|
||||
"</code>"
|
||||
]
|
||||
},
|
||||
@ -1775,7 +1763,23 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Fügen Sie hier Ihren Code ein."
|
||||
"# Fügen Sie hier Ihren Code ein.\n",
|
||||
"class ExtendedString(str):\n",
|
||||
" def multi_split(self, separators):\n",
|
||||
" result = [self]\n",
|
||||
" for sep in separators:\n",
|
||||
" tmp = []\n",
|
||||
" for elem in result:\n",
|
||||
" tmp.extend(elem.split(sep))\n",
|
||||
" result = [entry for entry in tmp if len(entry) > 0]\n",
|
||||
" \n",
|
||||
" return result\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"some_str = ExtendedString('Das ist ein Test, oder etwa nicht?')\n",
|
||||
"print(some_str.split())\n",
|
||||
"print(some_str.split(' ?,'))\n",
|
||||
"print(some_str.multi_split(' ?,'))"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user