블로그 이미지
이비그치면

태그목록

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

유용한 테스트 사이트

2017. 3. 4. 11:22 | Posted by 이비그치면

- 정규식(Regular Expression/regex) 테스트

https://regex101.com/

 

- 자바스크립트 테스트

https://codepen.io/pen/

https://jsfiddle.net/

- 웹개발에 필요한 다양한 유틸리티/테스트 도구모음

http://www.danstools.com/

 

JSFiddle - Code Playground

 

jsfiddle.net

 

울트라에디트에서(UltraEdit)에서 empty(blank) line만 삭제하고  그외 라인은 그대로 


아래 그림에서 공란(비어있는)줄 지우기(공백 line 삭제)  하고자 할때



울트라에디트의 CTRL+R(FIND AND REPLACE)해서 아래그림과 같이

Find what:    ^(?:[\t ]*(?:\r?\n|\r))+

Regular expressions:  check 하고 Perl선택

Replace all   버튼을 누른다


아래와 같이 변경된다



울트라에디트에서(UltraEdit)에서 특정라인(특정문자열/특정string을 포함하고있는 라인)만 삭제하고  그외 라인은 그대로 유지

아래 그림에서 

<div id=   가 있는 라인만 삭제하고자 할때


울트라에디트의 CTRL+R(FIND AND REPLACE)해서 아래그림과 같이

Find what:    ^.*<div id.*\r?\n?$

Regular expressions:  check 하고 Perl선택

Replace all   버튼을 누른다


아래와 같이 변경된다





울트라에디트에서(UltraEdit)에서 특정라인(특정문자열/특정string을 포함하고있는 라인)만 남기고 그외 라인은 삭제

아래 그림에서 

<div id=   가 있는 라인만 남기고자 할때


울트라에디트의 CTRL+R(FIND AND REPLACE)해서 아래그림과 같이

Find what:    ^(?:(?!<div id).)*$

Regular expressions:  check 하고 Perl선택

Replace all   버튼을 누른다



아래와 같이 변경된다



- 텍스트에서 특정부분만 남기기

  아래와 같이  파일명이 xxxxx-yyyyy.sgf 형태로 이름붙여진 

  파일명데이타에서 xxxxx 혹은 yyyyy만 남기고(추출) 싶을때

CTRL+R (find & replace) 해서 창이 열리면

아래와 같이 find what: 에 (.*)-(.*)\.sgf   Replace with 에 \1 (xxxxx남김)

                                                                                        \2 (yyyyy남김)

Regular expressions에 체크하고 Unix 선택 


Replace all 버튼 누르면 Replace with:에  \1 했을 경우


Replace with:에  \2 했을 경우


- 한줄 건너 라인 삭제하기(delete every second line)

  아래와 같이 

  웹페이지에서 영역을 지정해서 CTRL+C 하고 울트라에디트로

  CTRL+V 했는데 한줄건너 dummy line이 생겨 이를 삭제하려고 한다

울트라에디트에 붙여넣기(CTRL+V)한 후의 화면


CTRL+R(find & replace) 

  


Replace all 버튼을 클릭후의 화면





- 괄호짝찾기(brace matching)

   CTRL+B



 

HTML beautifier/HTML formatter

자바스크립트가 실행되면서 만들어진 html code의 경우

html tag 쌍이 indent되어있지 않고 one line으로 죽 나열되어있어

보기가 어려워(가독성이 떨어져) 파악이 어려운 경우가 많다

다음 사이트를 이용하면 손쉽게 잘 정리된 

html code를 얻을 수 있다

http://www.cleancss.com/html-beautify/

'컴퓨터 > HTML' 카테고리의 다른 글

chm 좌측 부분(TOC) tree menu로 구성하기  (0) 2014.08.30

아래와 같이 테이블(18*2)을 생성하고 생성한후에 랜덤하게(무작위로) 첫째칼럼의 열과

둘째칼럼의 열을 shading/hiding 하는 vba이다

단어장을 만들고 랜덤하게 뜻과 의미를 감추어 단어암기에 도움을 주기위해 만들었다

vba로 만들어져 매번 실행시마다 감추어지고 드러나는 셀들이 변경된다


Sub MakeTable()

    '--- 먼저 18*2  [row(행):18, col(열):2]테이블을 만든다
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=18, NumColumns:= _
            2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
            wdAutoFitFixed
    With Selection.Tables(1)
        If .Style <> "표 구분선" Then
            .Style = "표 구분선"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = False
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = False
        .ApplyStyleRowBands = True
        .ApplyStyleColumnBands = False
    End With
    
    '--- 두번째 렬(column)에서 행(row)을 둘로 나눈다
    x = 1
    nTab = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
    nRows = ActiveDocument.Tables(nTab).Rows.Count
    For i = 1 To nRows
        ActiveDocument.Tables(nTab).Cell(x, 2).Split NumRows:=2
        x = x + 2
    Next
    
End Sub

워드(WORD) VBA에서 

위와 같은 형태의 행이 합쳐진(vertically merged cell) 테이블(TABLE)내의 특정 셀(cell)이  merge되어있는지를 check하는데에는 약간의 어려움이 있다

그리고 랜덤으로 특정셀을 가리거나 드러내는 작업도 좀 복잡하다



Sub RandomHiding()

Dim R As Row
Dim C As Cell
Dim RowSpan, iCol, iRow

Const lo = 1
Const hi = 18
Const itms = 1

Dim i, k As Integer
Dim x As Variant

    '--- 먼저 전체 숫자집합(원소수 18)에서 몇개를 선택할것인가를 임의로 결정
    '--- 여기에선 6개이상 9개이하로 함
    Do While 1
        x = getRandomNumbers(lo, hi, itms)
    
        For i = lo To hi
            If x(i) = True Then k = i
        Next i
        If (k > 5) And (k < 10) Then
            Exit Do
        End If
    Loop
    
    '--- 다시 무작위로 위에서 정해진 갯수(k) 만큼의 숫자를 선택함
    x = getRandomNumbers(lo, hi, k)
    
    '--- 이제 테이블의 셀들을 돌면서 위에서 정해진 위치의 셀을 찾아
    '--- hiding/shading 한다
    
    Set tbl = ActiveDocument.Tables(1)
    
    For Each C In tbl.Range.Cells
        C.Select
        
        '--- 해당셀이 열병합(vertically merged)되어있는지 check
        RowSpan = (Selection.Information(wdEndOfRangeRowNumber) - _
            Selection.Information(wdStartOfRangeRowNumber)) + 1
        If RowSpan > 1 Then
            If x(Fix(C.RowIndex / 2) + 1) = True Then
                tbl.Cell(C.RowIndex, 1).Shading.BackgroundPatternColor = wdColorGray25
            End If
        Else
            If x(Ceiling(C.RowIndex / 2)) = False Then
                tbl.Cell(C.RowIndex, 2).Shading.BackgroundPatternColor = wdColorGray25
            End If
        End If
    Next C
End Sub

Function getRandomNumbers(lo As Integer, hi As Integer, toSelect As Integer)
'--- 기능 : 특정범위의 연속된 숫자집합에서 지정된 갯수만큼 무작위로 선택
'---        배열(boolean array)을 return(선택된 숫자들이 array index가 되고 그값은 true)
'---        예를 들어 1..18까지고 3개를 random으로 뽑은 숫자가 1,7, 17 이라면
'---        retArr(1) = True, retArr(7) = True, retArr(17) = True
'--- 입력값 : lo : 숫자집합의 최저값, hi : 숫자집합의 최고값, toSelect : 선택할 갯수
'--- 결과값 : 배열(boolean array)

    ReDim Items(lo To hi) As Variant
    Dim selected As Integer
    
    Randomize
    
    Do While selected < toSelect
        Dim rec As Integer
        rec = Int((hi - lo + 1) * Rnd + lo)
        If Items(rec) = False Then
            Items(rec) = True
            selected = selected + 1
        End If
    Loop

    getRandomNumbers = Items
    
End Function

Function Ceiling(Number As Double) As Long
'--- 기능: 소숫점 이하값 무조건 올림

    Ceiling = -Int(-Number)
    
End Function

중국어(한어) Word 문서에 병음 붙이기

2016. 12. 30. 19:11 | Posted by 이비그치면

$$ 중국어 단어장(표로 작성된) 에 적용되는 매크로입니다

https://oneone59.tistory.com/entry/%EC%9B%8C%EB%93%9C%EB%A1%9C-%EC%9E%91%EC%84%B1%EB%90%9C-%EC%A4%91%EA%B5%AD%EC%96%B4%ED%95%9C%EC%96%B4-%EB%8B%A8%EC%96%B4%EC%9E%A5MS-WORD%EB%A1%9C-%EC%9E%91%EC%84%B1%EC%97%90-%EB%B3%91%EC%9D%8C%EB%8B%AC%EA%B8%B0

$$

ms워드의 윗주달기를 이용하면 쉽게 병음을 붙일수있습니다

그러나 문서선택을 하고  메뉴에 나와있는 윗주달기버튼을 누르면 몇줄밖에(정확치는 않지만 대략 20에서 30자정도) 병음이 붙지않는것을 볼수있습니다

그래서 많은 분량의 문서에 병음처리를 하려면 상당한 수고(노가다)를 해야합니다

예를 들어 중국어/한어(Hanyu) MS WORD 문서에 병음(Pinyin)을 붙이려고 할때 문서의 일부분을 선택하고 윗주달기버튼(아래사진에서 연두색)을 누르면

 

다음과 같이 병음이 붙는것을 볼수있습니다

 

위에서 보시는 바와같이 3줄에서 4줄정도에 병음이 붙은것을 볼수있습니다

상당히 편리한 병음달기기능이지만 이렇게 제한이 있으면

많은량의 문서에 대해 병음을 달려고하면 이는 너무나도 힘들고 짜증나는 단순노가다

작업이 아닐수없습니다

 

기쁜소식을 하나 전합니다

몇번의 시행착오와 테스트를 거쳐 간단한 VBA(매크로)를 만들었습니다

아래가 시행한 후의 모습입니다

혹 이러한 노가다앞에서 절망(?)하고 있을 분들에게 도움이 되었으면 합니다

꼭 필요한 분은 제메일이나 댓글로 문서를 첨부해 남겨주세요