Dota 2 Wiki
Dota 2 Wiki
5 433
páginas

Documentação para Módulo:Split Pular para o código ↴ [ editar | atualizar ]

Este módulo fornece uma maneira mais eficiente de mw.text.split() dividi os strings em Lua.

Uso[]

split( string, pattern, plain )

Exemplo[]

local p = {}
local split = require( 'Módulo:Split' )

function p.main()
  split( '1/2/3/4', '/' ) --> { '1', '2', '3', '4' }
end

return p


local checkType = require( 'libraryUtil' ).checkType


return function ( str, pattern, plain )
  checkType( 'split', 1, str, 'string' )
  checkType( 'split', 2, pattern, 'string' )
  checkType( 'split', 3, plain, 'boolean', true )
  
  local i, out = 1, {}
  local split_start, split_end = string.find( str, pattern, i, ( plain or false ) )
  while split_start do
    out[#out + 1] = string.sub( str, i, split_start - 1 )
    i = split_end + 1
    split_start, split_end = string.find( str, pattern, i, ( plain or false ) )
  end
  out[#out + 1] = string.sub( str, i )

  return out
end