模組討論:String
外观
Xiplus在话题“編輯請求”中的最新留言:7年前
編輯請求
![]() | 正在請求他人代為編輯受保護的頁面(連鎖保護 编辑:仅允许管理员 移动:仅允许管理员) 注意:本模板不是用於請求開放頁面給予編輯,相關請求請至请求解除保护頁申請;本模板是用於請求可以編輯的用户幫忙修改內容。 請求時請列明理由及內容,確保修改有共識基礎及沒有爭議,否則請先在受保護頁面的討論頁進行討論。(工具:處理、申請解除保護) 如果您想直接展示给管理员修改后的页面及清楚地列出编辑差异,请将本模板改为 {{Editprotected|patch=}} ,点击「显示预览」并按照提示进一步操作。 |
- 請求新增一個切割字串函數,已在Module:Chemicals中使用(Special:Diff/47444448,函式原型: string[] str::split(string,string))
- 但Module:Chemicals應該是要放置化學相關函數
- 而字串相關函數應置於此,因此申請編輯請求
function str.split(inputstr, sep)
if sep == nil then
sep = "%s"
end
local result={} ; i=1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
result[i] = str
i = i + 1
end
return result
end
lua沒有函數載入順序問題,以上函式放在任意位置皆可 -- 宇帆(明年二月加入維基將滿十周年!留言·歡迎簽到·聯絡) 2017年12月19日 (二) 17:55 (UTC)
- (沙盒測試帳號發言)(~)補充:該函數已應用於Module:Chemicals中,但它不應置於Module:Chemicals中,而應置於Module:String。-- 宇帆 by 沙盒帳號(今年二月加入維基將滿十周年!留言·歡迎簽到·聯絡) 2018年1月9日 (二) 14:21 (UTC)
- (沙盒測試帳號發言)提供Doc檔
split
- function prototypt(by c++):
string[] 模块::String::str::split ( const string inputstr, const string sep );
- function prototypt(by c++):
- This function splits a String into an array of strings by separating the string into substrings, using a specified separator string to determine where to make each split.
Usage:
- str.split( target_string, separator_string )
Parameters:
- inputstr target_string
- The string to split
- sep separator_string
- Specifies the string which denotes the points at which each split should occur.
- (沙盒測試帳號發言)-- 宇帆 by 沙盒帳號(今年二月加入維基將滿十周年!留言·歡迎簽到·聯絡) 2018年1月10日 (三) 05:14 (UTC)
- (+)支持,无害的编辑。--Antigng(留言) 2018年1月10日 (三) 06:13 (UTC)
- (+)支持,如果完成编辑,任何模块都可以通过调用本模块执行这个函数。--⚞★⚟ 2018年1月12日 (五) 07:54 (UTC)
- @A2569875、Antigng、Great_Brightstar:就我所知的程式語言,split的功能是如此實作為少數,我所知的只有C/C++的strtok是如此,以Java, PHP, Python的split都是用完整字串來切割(甚至是正規表達式),較少為用字串任一字元來切割(例如
split("a-b--c-d", "--")
應該得到["a-b", "c-d"]
而非["a", "b", "c", "d"]
)。另外此函數的實作方式,在傳入特定字串時會有非預期情況發生。--Xiplus#Talk 2018年2月1日 (四) 06:26 (UTC)- (?)疑問:@Xiplus:那麼您建議可以如何修改?-- 宇帆(2/28加入維基將滿十周年!留言·歡迎簽到·聯絡) 2018年2月1日 (四) 08:07 (UTC)
- Xiplus#Talk 2018年2月9日 (五) 08:26 (UTC) 在inputstr搜尋sep,並把搜尋到的位置之前字串加入result,並從搜尋到位置+sep的長度,繼續前述操作直到搜尋無結果最後將剩下文字也加入result。--
- (?)疑問:@Xiplus:那麼您建議可以如何修改?-- 宇帆(2/28加入維基將滿十周年!留言·歡迎簽到·聯絡) 2018年2月1日 (四) 08:07 (UTC)
- @A2569875、Antigng、Great_Brightstar:就我所知的程式語言,split的功能是如此實作為少數,我所知的只有C/C++的strtok是如此,以Java, PHP, Python的split都是用完整字串來切割(甚至是正規表達式),較少為用字串任一字元來切割(例如