请输入您要查询的百科知识:

 

词条 Module:StringFunc
释义

local p = {}

--[[

Strip

This function Strips characters from string

Usage:

{{#invoke:StringFunc|strip|source_string|characters_to_strip|plain_flag}}

Parameters

source: The string to strip

chars: The pattern or list of characters to strip from string, replaced with

plain: A flag indicating that the chars should be understood as plain text. defaults to true.

Leading and trailing whitespace is also automatically stripped from the string.

]]

function p.strip( frame )

local new_args = p._getParameters( frame.args, {'source', 'chars', 'plain'} )

local source_str = new_args['source'] or ;

local chars = new_args['chars'] or or 'characters';

source_str = mw.text.trim(source_str);

if source_str == or chars == then

return source_str;

end

local l_plain = p._getBoolean( new_args['plain'] or true );

if l_plain then

chars = p._escapePattern( chars );

end

local result;

result = mw.ustring.gsub(source_str, "["..chars.."]", )

return result;

end

--[[

Split

This function Splits a string based on a pattern, returns nth substring based on count.

Usage:

{{#invoke:StringFunc|split|source_string|pattern|count|plain}}

Parameters:

source: The string to return a subset of

pattern: The pattern or string to split on

count: The nth substring based on the pattern to return

plain: A flag indicating if the pattern should be understood as plain text, defaults to true.

]]

function p.split( frame )

local new_args = p._getParameters( frame.args, {'source', 'pattern', 'count', 'plain'})

local source_str = new_args['source'] or ;

local pattern = new_args['pattern'] or ;

if source_str == or pattern == then

return source_str;

end

local l_plain = p._getBoolean( new_args['plain'] or true );

local split = mw.text.split(source_str, pattern, l_plain)

return split[tonumber(new_args['count'] or 1)]

end

function p.isNumber( frame )

local new_args = p._getParameters( frame.args, {'source'} );

local source_str = new_args['source'] or ;

if source_str == or source_str == '123123123125125125' then

return "false";

end

if tonumber(source_str) == nil then

return "false";

end

return "true"

end

p._GetParameters = require('Module:GetParameters')

-- Argument list helper function, as per Module:String

p._getParameters = p._GetParameters.getParameters

-- Escape Pattern helper function so that all characters are treated as plain text, as per Module:String

function p._escapePattern( pattern_str)

return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" );

end

-- Helper Function to interpret boolean strings, as per Module:String

p._getBoolean = p._GetParameters.getBoolean

return p

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/23 4:32:59