首页 > 解决方案 > 如何检查子字符串是否是引号

问题描述

我想做一个 if 它检查子字符串是否是“。就像这里:

char comma = '"'
if(String.Substring(6, 1) == comma)

但这不起作用,它给了我这个错误

错误 CS0019 == 运算符不能用于“string”和“char”类型的操作数。

char版本有替代品吗?字符串也不起作用,因为第二个引号结束了第一个引号,而第三个引号没有结尾。

标签: c#stringstring-function

解决方案


如果要检查特定字符是否位于字符串中的特定位置,请将字符串视为具有索引的数组:

char quote = '"'
if(someString[6] == quote)

索引字符串会返回该位置的字符

如果你想要子字符串,还有一个新的语法:

someString[6..8] //starting at index 6, ending at 8, length of 2

用数字前缀^表示“从字符串的末尾开始

someString[^6..^4] //starting at index 6 from the end, ending at 4 from end, length of 2

只要开始位置在结束位置之前,您就可以混合匹配开始和结束。此字符串的长度必须至少为 10:

someString[6..^4] //starting at index 6, ending at 4 from end, length of (length-10)

您可以省略开头,并假设您的意思是 0

您可以省略结尾,假设您的意思是 ^0

这些范围返回字符串,而不是字符


推荐阅读