为何非空字符串检测包含空串""时返回true?
为什么字符串检测包含空串""会返回true?
这是字符串匹配的标准行为,任何字符串(包括非空字符串)都会被判定为包含空串"",原因很简单:空串是长度为0的字符串,它可以匹配在目标字符串的任意位置——比如字符串的开头、结尾,甚至每两个字符之间的间隙。
拿你的变量值"338715618884"举例,空串可以匹配在^338715618884(开头)、3^38715618884、33^8715618884……直到338715618884^(结尾)这些位置,所以包含检测会返回true。
这种规则是编程语言里字符串处理的通用约定,不是代码bug,所有遵循标准字符串匹配逻辑的语言(比如Java、Python、C#等)都会有这个表现。
内容的提问来源于stack exchange,提问作者Anuj Masand
相关产品推荐
相关产品推荐

