在字符串中搜索双引号

9
当使用Instr搜索双引号时,需要使用4个双引号来表示搜索字符串:Instr(字符串, """"),或者使用Instr(字符串, Chr(34))。我不太明白为什么3个双引号不能起作用:Instr(字符串, """)
我已经在Google上搜索了这个问题,但没有找到我要的答案。我知道这是一个非常基本的问题,但我似乎无法理解它。
1个回答

10

""表示引用一个单引号",因此"""表示"这里来了一个双引号。但是在VBA中缺少闭合的"

换句话说:

  • x = "" -> 内容为空
  • x = """" -> x的内容为"
  • x = """ -> VBA无法编译,因为它读到这里有一个字符串(第一个")其中包含一个双引号(""),但找不到结束的"...

谢谢你的回答,Peter。我需要考虑一下,会尽快回复你,可能还会有后续问题。 - DaveU
我想这就是让我困惑的地方 - 为什么VBA无法编译,因为它读到了一个包含一个双引号(")的字符串(第一个“),后面跟着一个闭合的“...”? - DaveU
不要问我为什么错误信息不是你想象的那样!我猜编译器只是找不到行/字符串的结尾并抱怨...;-) - Peter Albert
抱歉,是我打错了。应该读作“这里有一个包含1个双引号(“)的字符串,后面跟着一个闭合引号(...?),没有错误。我想“xxx”没问题,然后用""",中间的"代替了xxx。 - DaveU
发现这也取决于是嵌入字符串还是连接字符串。 还不是完全直观的(但已经有所帮助了)。谢谢你的帮助。 - DaveU

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接