【问题标题】:How can I check if a Substring is a quotation如何检查子字符串是否是引号
【发布时间】:2021-07-16 16:36:53
【问题描述】:

我想创建一个 if 来检查子字符串是否为 "。就像这里:

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

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

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

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

【问题讨论】:

  • 顺便说一句,这不是逗号
  • foo.SubString(6, 1)[0] == 逗号或更合乎逻辑的 foo[6] == 逗号。 张贴你写的实际代码,不是这个。
  • 通过“字符串也不起作用,因为第二个引用结束了第一个,第三个没有结束。”我假设您的意思是“我不知道如何编写包含双引号的字符串文字”-它是 "\""

标签: c# string string-function


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 2012-12-19
    • 2016-02-03
    • 1970-01-01
    • 2013-12-13
    • 2015-03-31
    • 1970-01-01
    • 2011-11-09
    相关资源
    最近更新 更多