ZetCode

FreeBasic String 关键字

最后修改日期:2025 年 6 月 16 日

FreeBasic 的 String 关键字代表用于存储和操作文本的字符序列。字符串对于处理用户输入、显示输出和处理文本数据至关重要。

基本定义

在 FreeBasic 中,String 是一种内置数据类型,用于存储文本数据。字符串可以包含字母、数字、符号和空格。它们是可变长度的,可以根据需要增长或缩小。

字符串变量通常用于输入/输出操作、文本处理和数据存储。FreeBasic 提供了许多用于字符串操作和转换的内置函数。

声明字符串变量

此示例显示了如何声明和初始化字符串变量。

string_declare.bas
Dim fname As String
Dim greeting As String = "Hello, there!"
Dim emptyString As String = ""

Print "first name: "; fname
Print "greeting: "; greeting
Print "emptyString: "; emptyString

在这里,我们声明了三个字符串变量。第一个未初始化,默认为空字符串。其他两个显式设置为问候语和空字符串。FreeBasic 中的字符串最多可以包含 2GB 的文本。

字符串连接

可以使用连接运算符 (+) 组合字符串。

string_concat.bas
Dim firstName As String = "John"
Dim lastName As String = "Doe"
Dim fullName As String = firstName + " " + lastName

Print "Full name: "; fullName

Dim message As String = "Welcome, " + fullName + "!"
Print message

此示例演示了字符串连接。我们将名字和姓氏与它们之间的空格组合起来。然后,我们通过连接多个字符串来创建一个欢迎消息。+ 运算符可以有效地连接字符串。

字符串长度

Len 函数返回字符串中的字符数。

string_length.bas
Dim text As String = "FreeBasic Programming"
Dim length As Integer = Len(text)

Print "Text: "; text
Print "Length: "; length

Dim emptyLength As Integer = Len("")
Print "Empty string length: "; emptyLength

在这里,我们使用 Len 函数来确定字符串长度。第一个字符串包含 20 个字符(包括空格)。空字符串返回 0。Len 对于验证和处理循环很有用。

字符串比较

可以使用关系运算符比较字符串。

string_compare.bas
Dim str1 As String = "apple"
Dim str2 As String = "banana"

Print str1; " = "; str2; ": "; (str1 = str2)
Print str1; " < "; str2; ": "; (str1 < str2)
Print str1; " > "; str2; ": "; (str1 > str2)

Dim password As String = "secret123"
Dim input As String = "Secret123"
Print "Password match: "; (password = input)

此代码按字典顺序(ASCII 值顺序)比较字符串。请注意,比较是区分大小写的,如密码示例所示。FreeBasic 还提供了 StrComp 用于不区分大小写的比较。

字符串子串

Mid 函数可以提取字符串的一部分。

string_substring.bas
Dim sentence As String = "The quick brown fox jumps over the lazy dog"

Dim word As String = Mid(sentence, 5, 5)
Print "Extracted word: "; word

Dim rest As String = Mid(sentence, 11)
Print "From position 11: "; rest

Dim lastThree As String = Mid(sentence, Len(sentence) - 2, 3)
Print "Last three characters: "; lastThree

Mid 使用起始位置和长度提取子字符串。第一次调用获取“quick”。如果没有指定长度,它会返回到字符串末尾的所有字符。我们可以根据字符串长度计算位置,以实现灵活访问。

字符串搜索

InStr 函数在字符串中查找子字符串。

string_search.bas
Dim proverb As String = "A stitch in time saves nine."

Dim pos As Integer = InStr(proverb, "time")
Print "'time' found at position: "; pos

pos = InStr(proverb, "zebra")
Print "'zebra' found at position: "; pos

pos = InStr(5, proverb, "i")
Print "'i' after position 5: "; pos

InStr 返回子字符串第一次出现的的索引。如果未找到,则返回 0。我们可以指定一个起始位置进行搜索。这对于解析和文本分析很有用。

字符串修改

FreeBasic 提供了修改字符串内容的函数。

string_modify.bas
Dim original As String = "   FreeBasic is great!   "

Dim trimmed As String = Trim(original)
Print "Trimmed: '"; trimmed; "'"

Dim replaced As String = Replace(trimmed, "great", "awesome")
Print "Replaced: "; replaced

Dim upperCase As String = UCase(replaced)
Print "Uppercase: "; upperCase

Dim lowerCase As String = LCase(replaced)
Print "Lowercase: "; lowerCase

这显示了常见的字符串修改:Trim 去除空格,Replace 更改子字符串,UCase/LCase 更改大小写。这些函数有助于清理和标准化字符串数据。

最佳实践

本教程介绍了 FreeBasic String 关键字,并通过实际示例展示了其在不同场景下的用法。

作者

我的名字是 Jan Bodnar,我是一名热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出所有 FreeBasic 教程