字符串操作函数 - MetaTrader 5 库
有用的字符串操作函数的集合
库中的所有函数都将返回源字符串的修改后的副本。
源字符串未被修改(即不可变)。
//+------------------------------------------------------------------+ //| StringUtils_演示 | //| 版权所有 © 2018,阿姆·阿里 | //| https://www.mql5.com/en/users/amrali | //+------------------------------------------------------------------+ #财产版权 “版权所有 © 2018,阿姆·阿里” #财产关联 “https://www.mql5.com/en/users/amrali” #财产版本 “1.800” #财产描述 “字符串操作函数的集合。” #包括//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #定义打印(A) 打印助手(#一个,(一个))//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ 模板<类型名>空白打印助手(细绳_一个,常量TA) { 如果(类型名(T)==“细绳”) 打印(_A+”=“,“\””+ (细绳)A+“\””); 别的 打印(_A+”=“, (细绳)一个); }//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ 空白 启动时() { /** * 所有函数都返回输入字符串的修改后的副本。 * 源字符串未被修改(即不可变)。 */ 打印(字符串追加如果丢失(“目录”,“\\”) ); 打印(字符串追加如果丢失(“目录”,“\\”) ); 打印(字符串字符(“苹果”,4) ); 打印(字符串字符代码(“苹果”,4) ); 细绳部分[]; 打印(字符串块(“1234567890”,3, 部分) ); 阵列打印(部分); 打印( StringChunkRight(“1234567890”,3, 部分) ); 阵列打印(部分); PRINT( 字符串包含(“生活是美好的”,“是”) ); 打印(字符串计数匹配(“蓝色先生有蓝色的房子和蓝色的汽车”,“蓝色的”) ); 打印(字符串结束(“生活是美好的”,“好的”) ); 打印(字符串结束(“生活是美好的”,“是”,7) ); 打印(字符串生成随机数(12) ); 打印(字符串索引(“早晨”,“n”) ); PRINT( 字符串插入(“012345”,“xxx”,3) ); PRINT( 字符串为空或空(无效的) ); PRINT( 字符串为空或空(””) ); PRINT( 字符串是数字(“12345”) ); PRINT( 字符串是数字(“3.142”) ); PRINT( 字符串连接(“-”,“爪哇”,“是”,“凉爽的”) ); 打印(字符串最后索引(“早晨”,“n”) ); 打印(字符串左(“直升机”) ); 打印(字符串左(“车辆”,2) ); 打印(字符串左(“车”,5) ); 打印(字符串键盘(“MQL5 太棒了”,21,'*') ); 打印(字符串PadEnd(“美元”,5) ); 打印(字符串PadEnd(“1.3”,5,‘0’) ); 打印( 字符串PadStart(“美元”,5) ); 打印( 字符串PadStart(“123”,5,‘0’) ); PRINT( StringPrependIfMissing(“域名.com”,“万维网。”) ); PRINT( StringPrependIfMissing(“www.domain.com”,“万维网。”) ); 打印(字符串删除(“蓝色先生有蓝色的房子和蓝色的汽车”,“蓝色的 ”) ); PRINT( 字符串删除结束(“www.domain.com”,“.com”) ); PRINT( 字符串删除开始(“www.domain.com”,“万维网。”) ); PRINT( 字符串删除开始(“域名.com”,“万维网。”) ); PRINT( 字符串重复(“*”,5) ); PRINT( 字符串重复('*',5) ); PRINT( 字符串替换2(“蓝色先生有蓝色的房子和蓝色的汽车”,“蓝色的”,“红色的”) ); PRINT( 字符串替换之间(“foo”,“”,“”,“酒吧”) ); PRINT( 字符串反转(“012345”) ); 打印(字符串右(“直升机”) ); 打印(字符串右(“车辆”,2) ); 打印(字符串右(“车”,5) ); 打印(字符串随机播放(“012345”) ); 打印(字符串分割(“_生活就是_美好_”,“_”, 部分) ); 阵列打印(部分); 打印(字符串分割修剪(“_生活就是_美好_”,“_”, 部分) ); 阵列打印(部分); PRINT( 字符串开始(“生活是美好的”,“生活”) ); PRINT( 字符串开始(“生活是美好的”,“是”,5) ); PRINT( 字符串SubstrAfter(“ABCBA”,“b”) ); PRINT( StringSubstrAfterLast(“ABCBA”,“b”) ); PRINT( 字符串SubstrBefore(“ABCBA”,“b”) ); PRINT( StringSubstrBeforeLast(“ABCBA”,“b”) ); PRINT( StringSubstrBetween(“foo”,“”,“”) ); PRINT( 字符串转小写(“MetaTrader 5”) ); PRINT( 字符串转大写(“MetaTrader 5”) ); 打印(字符串修剪(“ 你好世界! ”) ); 打印(字符串修剪结束(“ 你好世界! ”) ); 打印(字符串修剪开始(“ 你好世界! ”) ); 打印( DQuoteStr(MQL 信息字符串(MQL_程序_路径))); 打印(StrHashCode(“https://twitter.com/”) ); 打印(StrHashCode(“哎呀!”) ); 常量 长的魔法数 = ((长的) StrHashCode(“我的专家姓名”) <<31) + StrHashCode(_象征); 打印(魔法数字); 打印(Base64编码(“https://twitter.com/”) ); 打印(Base64解码(“aHR0chHM6Ly90d2l0dGVyLmNvbS8 =”) ); 打印(Base64编码(“哎呀!”) ); 打印(Base64解码(“0J/RgNC40LLQtdGCINC80LjRgCE=”) ); 乌查尔字节[]; 打印( UTF8GetBytes(“MQL5”, 字节) ); 阵列打印(字节); 打印(UTF8GetString(字节)); 超短字符[]; 打印( UnicodeGetBytes(“MQL5”, 字符) ); 阵列打印(字符); PRINT( UnicodeGetString(chars) ); }//+------------------------------------------------------------------+ // 预期输出: /* StringAppendIfMissing(dir,\) = "dir\" StringAppendIfMissing(dir\,\) = "dir\" StringCharAt(苹果,4) = "e" StringCharCodeAt(苹果,4) = 101 StringChunk(1234567890,3,部分) = 4 “123” “456” “789” “0” StringChunkRight(1234567890,3,部分) = 4 “890” “567” “234” “1” StringContains(life_is_good,is) = true StringCountMatches(蓝色先生有蓝色的房子和蓝色的汽车,蓝色) = 2 StringEndsWith(life_is_good,好) = true StringEndsWith(life_is_good,is,7) = true StringGenerateRandom(12) = "9VPP7jZcShNz" StringIndexOf(早上,n) = 3 字符串插入(012345,xxx,3) = "012xxx345" StringIsNullOrEmpty(NULL) = true StringIsNullOrEmpty() = true 字符串IsNumeric(12345) = true 字符串IsNumeric(3.142) = true StringJoin(-,Java,is,cool) = "Java 很酷" StringLastIndexOf(上午,n) = 5 StringLeft(直升机) = "h" StringLeft(车辆,2) = "ve" StringLeft(汽车,5) = "汽车" StringPad(MQL5 很棒,21,'*') = "***MQL5 很棒***" StringPadEnd(USD,5) = "美元 " StringPadEnd(1.3,5,'0') = "1.300" StringPadStart(USD,5) = " 美元" StringPadStart(123,5,'0') = "00123" StringPrependIfMissing(domain.com,www.) = "www.domain.com" StringPrependIfMissing(www.domain.com,www.) = "www.domain.com" StringRemove(Mr Blue 有一座蓝色的房子和一辆蓝色的汽车,blue ) = "Mr Blue 有一座房子和一辆汽车" StringRemoveEnd(www.domain.com,.com) = "www.domain" StringRemoveStart(www.domain.com,www.) = "domain.com" StringRemoveStart(domain.com,www.) = "domain.com" 字符串重复(*,5) = "*****" StringRepeat('*',5) = "*****" StringReplace2(蓝色先生有蓝色房子和蓝色汽车,blue,red) = "蓝色先生有红色房子和红色汽车" StringReplaceBetween(foo,,,bar) = "bar" 字符串反转(012345)=“543210” StringRight(直升机) = "r" StringRight(车辆,2) = "le" StringRight(汽车,5) = "汽车" StringShuffle(012345) = "145230" StringSplit(_life_is_good_,_,零件) = 5 “” “生活”“是” “美好”“” StringSplitTrim(_life_is_good_,_,零件) = 3 “生活”“是”“美好” StringStartsWith(life_is_good,life) = true StringStartsWith(life_is_good,is,5) = true StringSubstrAfter(abcba,b) = "cba" StringSubstrAfterLast(abcba,b) = "a" StringSubstrBefore(abcba,b) = "a" StringSubstrBeforeLast(abcba,b) = "abc" StringSubstrBetween(foo,,) = "foo" StringToLowerCase(MetaTrader 5) = "metatrader 5" StringToUpperCase(MetaTrader 5) = "METATRADER 5" StringTrim( 你好世界! ) = "你好世界!" StringTrimEnd( 你好世界! ) = " 你好世界!" StringTrimStart( 你好世界! ) = "你好世界! " DQuoteStr(MQLInfoString(MQL_PROGRAM_PATH)) = ""C:\Program Files\MetaTrader 5\MQL5\Scripts\StringUtils_demo.ex5"" StrHashCode(https://twitter.com/) = 2363652379 StrHashCode(Привет мир!) = 3271322339 魔法号码 = 9094825662509768225 Base64Encode(https://twitter.com/)=“aHR0cHM6Ly90d2l0dGVyLmNvbS8=” Base64Decode(aHR0cHM6Ly90d2l0dGVyLmNvbS8=) = "https://twitter.com/" Base64Encode(Привет мир!) = "0J/RgNC40LLQtdGCINC80LjRgCE=" Base64Decode(0J/RgNC40LLQtdGCINC80LjRgCE=) = "Привет мир!" UTF8GetBytes(MQL5,字节) = 4 77 81 76 53 UTF8GetString(字节) = "MQL5" UnicodeGetBytes(MQL5,字符) = 4 77 81 76 53 UnicodeGetString(chars) = "MQL5" */
附件下载
📎 stringutils.mqh (85.33 KB)
📎 stringutils_demo.mq5 (16.91 KB)
Source: MQL5 #35395
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
