我试图弄清楚如何在字符串中找到第一次出现的指定字符(比如说=)。这很容易,但我想要那个 = 的位置,只有当它不在引号中时。
例如,在这种情况下:
foo = bar
我想要第一个 = 的位置,但在这种情况下:
"foo = bar" = baz
我想要第二个=的位置。
我在这里发现了类似的问题,但我需要位置,而不是拆分。而且我必须能够处理转义引号 \" 或 \' 所以我认为我将无法使用基于字符串的方法来解决这个问题。
我的一个想法是使用 lex。使用基于正则表达式的语法分析进行分析,它可以为我找到第一次出现的 =,但它似乎相当沉重:)