EA编程教程:全面解析字符函数应用

在EA编程中,字符函数是处理字符串类型数据的一组重要工具。本文为您详细介绍这些函数的用法与示例。

StringConcatenate

StringFind

StringDLSM外汇GetChar

StringLen

StringSetChar

StringSubstr

StringTrimLeft

StringTrimRight

string StringConcatenate( ...)

该函数用于将多个数据转换为字符串形式并返回。参量可以为任意类型,总数不得超过64个字符。

其传送规则与应用于Print()、Alert()和Comment()函数的参量相同。函数返回的是参量连接后的字符串结果。

当字符串使用(+)连续添加时,使用StringConcatenate()运行速度更快且节省存储空间。

参量:

... - 所有值由逗号分开,可以是64个参量。

示例:

string text;

text=StringConcatenate("Account free margin is ", AccountFreeMargin(), "Current time is ", TimeToStr(TimeCurrent()));

// 文本="Account free margin is " + AccountFreeMargin() + "Current time is " + TimeToStr(TimeCurrent())

Print(text);

int StringFind( string text, string matched_text, void start)

用于搜索子字符串。如果找到,返回子字符串在原始字符串中的起始位置;若未找到,则返回-1。

参量:

text - 被搜索的字符串。

matched_text - 需要搜索的子字符串。

start - 搜索的起始索引位置。

示例:

string text="快速的棕色小狗跨越过懒惰的狐狸";

int index=StringFind(text, "小狗跨越", 0);

if(index!=16)

Print("oops!");

int StringGetChar( string text, int pos)

用于返回字符串中指定位置的字符代码。

参量:

text - 字符串。

pos - 字符位置,范围从0到StringLen(text)-1。

示例:

int char_code=StringGetChar("abcdefgh", 3);

// 取出字符 'c' 的代码是 99

int StringLen( string text)

用于返回字符串中的字符数量。

参量:

text - 需要计算长度的字符串。

示例:

string str="some text";

if(StringLen(str)<5) return(0);

string StringSetChar( string text, int pos, int value)

用于返回一个复本,其中指定位置的字符代码已被修改。

参量:

text - 需要修改的字符串。

pos - 字符位置,范围从0到StringLen(text)。

value - 新的ASCII代码。

示例:

string str="abcdefgh";

string str1=StringSetChar(str, 3, 'D');

// str1 is "abcDefgh"

string StringSubstr( string text, int start, void length)

用于从字符串的指定位置开始提取子字符串。如果提取成功,返回该子字符串的副本;否则返回空字符串。

参量:

text - 需要提取的字符串。

start - 提取的起始索引,范围从0到StringLen(text)-1。

length - 提取的长度。如果该值大于或等于0,或未指定,则提取到字符串末尾。

示例:

string text="快速的棕色小狗跨越过懒惰的狐狸";

string substr=StringSubstr(text, 4, 5);

// 提取的子字符串是"快速"

string StringTrimLeft( string text)

用于移除字符串左侧的空格和制表符。如果成功,返回修剪后的副本;否则返回空字符串。

参量:

text - 需要修剪左侧的字符串。

示例:

string str1=" Hello world ";

string str2=StringTrimLeft(str1);

// 修剪后str2将是 "Hello world "

string StringTrimRight( string text)

用于移除字符串右侧的空格和制表符。如果成功,返回修剪后的副本;否则返回空字符串。

参量:

text - 需要修剪右侧的字符串。

示例:

string str1=" Hello world ";

string str2=StringTrimRight(str1);

// 修剪后str2将是 " Hello world"