Wie füge ich beim Konvertieren von Excel in Wiki-Tabellen einen Hyperlink ein?

Wie füge ich beim Konvertieren von Excel in Wiki-Tabellen einen Hyperlink ein?

Ich verwende Excel, um Tabellen zu erstellen, die eine Spalte mit hyperverlinkten Zellen enthalten. Jetzt möchte ich diese Daten in das Wiki-Tabellenformat konvertieren. Wenn ich tab2wiki verwende (https://magnustools.toolforge.org/tab2wiki.php), verliere ich den Hyperlink. Welches Tool gibt es, das den Hyperlink bei der Konvertierung übernimmt?

Antwort1

Wenn Sie wissen, wie eine Tabelle im Wiki-Code aussieht, können Sie fast den gesamten Tabellenquellcode in Excel selbst erstellen. Den Anfang und das Ende einer Tabelle fügen Sie im Wiki-Quellcode ein. Zum Erstellen von Hyperlinks würde beispielsweise Folgendes aussehen: A1 = [[, B1 =Zielartikelname, C1 = ]], D1 = = A1&B1&C1.

Antwort2

Letztendlich wäre die beste Vorgehensweise, das tab2wikiTool um Link-Handling-Unterstützung zu erweitern (QuellcodeHier), insbesondere angesichts der explosionsartigen Zunahme generischer TLDs in den letzten Jahren. Nichts ist besser als das Schreiben von speziell entwickeltem Code zur Lösung des Problems, das komplexer ist, als diese begrenzte Lösung (siehe unten) bewältigen kann.

Allerdings konnte ich mit Regex und Perl etwas zusammenhacken, daskönntetun Sie, was Sie brauchen, abhängig von Ihren Bedingungen, zumindest wenn Sie Zugriff auf Linux haben oder diesen Ansatz an eine andere Umgebung anpassen können. Ich glaubeNotizblock++, verfügbar unter Windows, unterstützt reguläre Ausdrücke in seinem Suchen-und-Ersetzen-Tool, und Sie können diesen Ansatz möglicherweise anpassen, um diese Schnittstelle mit dem folgenden regulären Ausdruck zu verwenden (d. h. fügen Sie die Ausgabe von tab2wikiin Notepad++ ein und verwenden Sie dann den regulären Ausdruck in seinem Suchen-und-Ersetzen-Tool).

Zunächst die Eingabe, die bereitgestellt wird für tab2wiki:

lol wut noway   asdf
1   no way https://www.google.com so cool https://test.net  qwer    zxcv
2       http://kagi.org sd
3   fd  d   https://netflix.org
4   fdasf   f   http://www.apple.org

Beim Einfügen tab2wikiergibt sich folgender Text:

{| border="1" class="sortable"
!lol!!wut!!noway!!asdf
|-
|1||no way https://www.google.com so cool https://test.net||qwer||zxcv
|-
|2||||http://kagi.org||sd
|-
|3||fd||d||https://netflix.org
|-
|4||fdasf||f||http://www.apple.org
|}

Dieses Beispiel umfasst Zellen mit mehreren Links sowie Endzellen, die ganz am Ende Links haben, und leere Zellen.

Wenn Sie diese Datei irgendwo speichern (wie ) /tmp/testwikifile, und dann den folgenden Befehl mit perlder Regex-Engine von ausführen, werden um jeden der Links das „ [und“ eingefügt:]

cat /tmp/testtable3 | perl -p -e 's/(http.*?)\.(com|org|net)/\[\1.\2\]/gm'

Die Ausgabe:

{| border="1" class="sortable"
!lol!!wut!!noway!!asdf
|-
|1||no way [https://www.google.com] so cool [https://test.net]||qwer||zxcv
|-
|2||||[http://kagi.org]||sd
|-
|3||fd||d||[https://netflix.org]
|-
|4||fdasf||f||[http://www.apple.org]
|}

Einschränkungen:

  1. Die Links müssen mit httpmindestens beginnen
  2. Die Liste der Top-Level-Domains (TLDs) für die Links muss bekannt sein

Details zum regulären Ausdruck:

Dieser reguläre Ausdruck 's/(http.*?)\.(com|org|net)/\[\1.\2\]/g'kann wie folgt aufgeschlüsselt werden:

  1. Führen Sie eine Ersetzung einer Eingabezeichenfolge durch eine neue Zeichenfolge a la durch s/start/replacement/und tun Sie dies global g(suchen Sie nach allen Übereinstimmungen).
  2. Suchen Sie nach http„plus irgendetwas anderem“ .*und führen Sie es austräge ?. Suchen Sie dann nach einem Punkt \., und suchen Sie dann nach einem von com, org, oder netüber (com|org|net). Dadurch werden zwei Erfassungsgruppen erstellt, die wir dann bei unserer Ersetzung verwenden können.
  3. Die Ersetzung erfolgt durch \[\1.\2\], wobei \1alles von httpbis zum Punkt ist und \2eines von com, org, oder ist net. Daher: „Setzen Sie einen Punkt .zwischen diese beiden Übereinstimmungen, um den Link neu zu erstellen, und füllen Sie den Link mit öffnenden [und schließenden ]Klammern auf.“

verwandte Informationen