최신판 |
당신의 편집 |
135번째 줄: |
135번째 줄: |
| local pattern = new_args['target'] or '' | | local pattern = new_args['target'] or '' |
| local start_pos = tonumber(new_args['start']) or 1 | | local start_pos = tonumber(new_args['start']) or 1 |
| local plain = new_args['plain'] or false | | local plain = new_args['plain'] or true |
|
| |
|
| if source_str == '' or pattern == '' then | | if source_str == '' or pattern == '' then |
150번째 줄: |
150번째 줄: |
|
| |
|
| return start | | return start |
| end
| |
|
| |
| function str.find_( str1, str2 , str3, str4)
| |
| local source_str = str1 or ''
| |
| local pattern_str = str2 or ''
| |
| local start_ = str3 or 1
| |
| local plain_ = str4 or false
| |
|
| |
| if source_str == '' or pattern_str == '' then
| |
| return 0
| |
| end
| |
|
| |
| plain_ = str._getBoolean( plain_ )
| |
|
| |
| local start = ustring.find( source_str, pattern_str, start_, plain_ )
| |
|
| |
| if start == nil then
| |
| start = 0
| |
| end
| |
|
| |
| return start
| |
| end
| |
|
| |
| function str.ifexist( frame )
| |
| local args = getArgs(frame)
| |
| local new_args = str._getParameters( args, {'source', 'target', 'return1', 'return2' } )
| |
| local source_str = new_args['source'] or ''
| |
| local pattern = new_args['target'] or ''
| |
| local return1 = new_args['return1'] or ''
| |
| local return2 = new_args['return2'] or ''
| |
|
| |
| if str.find_( source_str, pattern) == 0 then
| |
| return return2
| |
| else
| |
| return return1
| |
| end
| |
| end
| |
|
| |
| function str.ifexist_( source_str, pattern, return1, return2 )
| |
| if str.find_( source_str, pattern) == 0 then
| |
| return return2
| |
| else
| |
| return return1
| |
| end
| |
| end | | end |
|
| |
|
268번째 줄: |
224번째 줄: |
| -- string.byte의 유니코드 호환 버전 | | -- string.byte의 유니코드 호환 버전 |
| function str.tounicode( frame ) | | function str.tounicode( frame ) |
| local args = getArgs( frame ) | | local args = getArgs(frame) |
| local s = args[1] or -1 | | local new_args = str._getParameters( args, { 's', 'i', 'j' } ) |
| if s == -1 then | | local s = new_args['s'] or '' |
| return '입력값이 없습니다.'
| | local i = tonumber( new_args['i'] ) or 1 |
| else
| | local j = tonumber( new_args['j'] ) or -1 |
| return 'U+0'..ustring.upper(string.format("%x", ustring.codepoint(s)))
| | return ustring.codepoint( frame.args[1], i, j ) |
| end | |
| end
| |
| | |
| function str.tounicode_( char )
| |
| local s = char or -1 | |
| if s == -1 then | |
| return 0
| |
| else
| |
| return 'U+0'..ustring.upper(string.format("%x", ustring.codepoint(s)))
| |
| end
| |
| end | | end |
|
| |
|
314번째 줄: |
260번째 줄: |
| end | | end |
| local _, count = ustring.gsub(source, pattern, '') | | local _, count = ustring.gsub(source, pattern, '') |
| return count
| |
| end
| |
|
| |
| function str.count_(str, pattern)
| |
| local _, count = ustring.gsub(str, pattern, '')
| |
| return count | | return count |
| end | | end |