创建字符串

创建字符串,可以直接使用引号或双引号进行创建,也可以使用转换函数进行创建。

直接创建字符串

可以用引号直接创建字符串。

【Excel VBA】

Excel VBA中创建字符串,用双引号将字符序列包围起来赋给变量。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test()
  Dim strA As String
  strA = "大谦Excel-dqexcel"
  Debug.Print strA
End Sub

运行程序,在立即窗口输出:

code.vba
大谦Excel-dqexcel

【Python】

Python中创建字符串,用单引号或双引号将字符序列包围起来赋给变量即可,例如:

code.python
>>> a='大谦Excel-dqexcel'

code.python
>>> a="大谦Excel-dqexcel"

如果要创建的字符串有换行。

【Excel VBA】

如果字符串有换行,Excel VBA中在换行处插入回车换行符vbCrLf,并用连接符&连接字符串各部分。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test2()
  Dim strA As String
  strA = "大谦Excel" & vbCrLf & "dqexcel"
  Debug.Print strA
End Sub

运行程序,在立即窗口输出:

code.vba
大谦Excel
dqexcel

【Python】

如果字符串有换行,Python中用三引号包围它们,例如:

code.python
>>> a='''大谦Exce
ldqexcel'''
>>> a
'大谦Excel\ndqexcel'

返回结果中,\n为换行符。三引号是连续敲三个单引号。

如果字符串中包含单引号或双引号。

【Excel VBA】

Excel VBA中,如果字符串中包含单引号,直接输入单引号;如果包含双引号,用两个双引号表示。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test3()
  Dim strA As String
  Dim strB As String
  strA = "I'm VBA."
  strB = "I love ""VBA""."
  Debug.Print strA
  Debug.Print strB
End Sub

运行程序,在立即窗口输出:

code.vba
I'm VBA.
I love "VBA".

【Python】

Python中可以用不同的引号将整个字符串包围起来进行赋值,例如:

code.python
>>> a="I'm Python."
>>> a
"I'm Python."
>>> b=' I love "Python".'
>>> b
' I love "Python".'

编程时有时用到固定长度的字符串,称为定长字符串。定长字符串的长度是固定的,给定字符串的长度超出固定长度时,超出部分截除;达不到固定长度时,后面用空格补齐。

【Excel VBA】

Excel VBA中可以创建定长字符串,使用下面的语法进行指定:

code.vba
String*size

例如,声明一个长度为8的字符串strB,它的长度固定为8个字节,长度小于8字节时后面用空格补齐,大于8字节时截去多余部分。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test4()
  Dim strB As String * 8
  strB = "Hello VBA!"
  Debug.Print strB
End Sub

运行程序,在立即窗口输出:

code.vba
Hello VB

【Python】

Python中没有定长字符串数据类型,获取定长字符串,需要编写函数。给定字符串的长度超出固定长度时,通过切片获取前面固定长度的子字符串;达不到固定长度时,后面用空格补齐。

【Excel VBA】

使用String函数可以重复输出只包含单一字符的字符串。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test5()
  Dim strC As String
  strC = String(10, "ABC")
  Debug.Print strC
End Sub

运行程序,在立即窗口输出:

code.vba
AAAAAAAAAA

【Excel VBA】

使用Space函数可以生成指定个数的空格。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test6()
  Dim strD As String
  strD = "Hello" & Space(5) & "VBA!"
  Debug.Print strD
End Sub

运行程序,在立即窗口输出:

code.vba
Hello     VBA!

在前后两个字符串中间插入了5个空格。

通过类型转换创建字符串

使用数据类型转换函数,可以将其他类型的变量转换为字符串类型,从而间接创建字符串类型的变量。

【Excel VBA】

Excel VBA中,使用CStr函数可以将其他类型的数据转换为字符串类型。下面创建一个短整型变量并赋值,使用CStr函数将它转换为字符串类型,然后在立即窗口输出变量的值。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test7()
  Dim intA As Integer
  Dim strB As String
  intA = 123
  strB = CStr(intA)
  Debug.Print strB
End Sub

运行过程,在立即窗口输入字符串"123"。

【Python】

Python中使用str函数将其他类型的变量转换为字符串类型。下面创建一个整型数字变量,用str函数进行转换后输出它的值。

code.python
>>> a=123
>>> b=str(a)
>>> b
'123'

字符串的长度

字符串的长度即字符串中字符的个数,使用相应的函数可以获取字符串的长度。

【Excel VBA】

Excel VBA中用Len函数获取指定字符串的长度。示例文件的存放路径为Samples\ch06\Excel VBA\创建字符串.xlsm。

code.vba
Sub Test8()
  Dim strL As String
  strL = "Hello python & VBA!"
  Debug.Print Len(strL)
End Sub

运行程序,在立即窗口中输出字符串的长度19。

【Python】

Python中用len函数返回字符串的长度,例如

code.python
>>> len('hello python')   #长度
12