Excel에서 Wiki 테이블로 변환할 때 하이퍼링크를 포함하는 방법은 무엇입니까?

Excel에서 Wiki 테이블로 변환할 때 하이퍼링크를 포함하는 방법은 무엇입니까?

저는 Excel을 사용하여 하이퍼링크된 셀 열이 포함된 테이블을 만듭니다. 이제 이 데이터를 Wiki-table 형식으로 변환하고 싶습니다. tab2wiki를 사용하는 경우(https://magnustools.toolforge.org/tab2wiki.php), 하이퍼링크가 손실됩니다. 변환 시 하이퍼링크를 전달하는 데 사용할 수 있는 도구는 무엇입니까?

답변1

Wiki 코드에서 테이블이 어떻게 보이는지 알면 Excel 자체에서 거의 전체 테이블 소스 코드를 만들 수 있습니다. 위키 소스 코드에 추가할 테이블의 시작과 끝입니다. 예를 들어 하이퍼링크를 만드는 것은 A1 = [[, B1 = 과 같습니다 .대상 기사 이름, C1 = ]], D1 = = A1&B1&C1.

답변2

궁극적으로 가장 좋은 조치는 tab2wiki링크 처리 지원(소스 코드)으로 도구를 확장하는 것입니다.여기), 특히 지난 몇 년 동안 일반 TLD가 폭발적으로 증가한 것을 고려하면 더욱 그렇습니다. 문제를 처리하기 위해 특별히 제작된 코드를 작성하는 것보다 더 나은 것은 없습니다. 이는 이 제한된 솔루션(아래 자세히 설명)이 처리할 수 있는 것보다 더 복잡합니다.

즉, 나는 정규식과 Perl을 사용하여 무언가를 해킹할 수 있었습니다.~할 것 같다최소한 Linux에 액세스할 수 있거나 이 접근 방식을 다른 환경에 적용할 수 있는 경우 조건에 따라 필요한 작업을 수행하십시오. 나는 믿는다메모장++는 Windows에서 사용할 수 있으며 찾기-바꾸기 도구에서 정규식을 지원하며 이 접근 방식을 적용하여 아래 정규식과 함께 해당 인터페이스를 사용할 수 있습니다(즉, 의 출력을 tab2wikinotepad++에 붙여넣은 다음 찾기-바꾸기에서 정규식을 사용할 수 있습니다). ).

먼저 다음과 같은 입력이 제공됩니다 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

붙여넣으면 tab2wiki다음 텍스트가 생성됩니다.

{| 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
|}

이 예에는 여러 링크가 있는 셀뿐만 아니라 맨 끝에 링크가 있는 종료 셀과 빈 셀도 포함됩니다.

이 파일을 어딘가에 저장한 후 의 정규식 엔진 /tmp/testwikifile으로 다음 명령을 수행하면 각 링크를 따라 이동 하여 고정됩니다.perl[]

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

출력:

{| 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]
|}

제한사항:

  1. 링크는 http최소한 다음 으로 시작해야 합니다.
  2. 링크에 대한 최상위 도메인(TLD) 목록을 알아야 합니다.

정규식 세부정보:

이 정규식은 's/(http.*?)\.(com|org|net)/\[\1.\2\]/g'다음과 같이 분류될 수 있습니다.

  1. 입력 문자열을 새 문자열 a la 로 대체 s/start/replacement/하고 전역 적으로 수행합니다 g(일치하는 항목 모두 찾기).
  2. http그 밖의 다른 것을 검색 .*하고 수행하십시오.게으르게 ?. 그런 다음 마침표를 찾은 다음 , 또는 via 중 하나 를 \.찾습니다 . 그러면 대체에 사용할 수 있는 두 개의 캡처 그룹이 설정됩니다.comorgnet(com|org|net)
  3. 대체는 \[\1.\2\], 에서 마침표까지 \1의 모든 항목이고 , , 또는 중 하나입니다 . 따라서 " 링크를 다시 만들기 위해 두 일치 항목 사이에 마침표를 넣고 링크를 여는 괄호 와 닫는 괄호로 채웁니다."http\2comorgnet.[]

관련 정보