我试图用do while和substring做一些基本的逻辑,如下面的
bool foundFirstTaskname = false;
int startCounter = 0;
do
{
var checkEveryTwo = name.Substring(startCounter, 1);
if (checkEveryTwo == "\t")
startCounter += 1;
else
foundFirstTaskname = true;
} while (!foundFirstTaskname);
当用户执行粘贴操作时,我会运行这样的一些代码,因此我抓住剪贴板的内容并将其设置为' name'。现在,对于这个应用程序,我正在检查" \ t"因为他们可以从excel中粘贴东西。
可以说,我们这个例子的粘贴输入是 - \ t \ t \ t \ t \ tTest1。 (这可以通过向单元格e1添加内容并复制a-e1并将其粘贴到此应用程序中来实现。)
现在,我只是在寻找没有\ t的第一个实例,并且它击中了bool标志。
现在我的实际问题是,当我运行这个应用程序并查看我的checkEveryTwo变量时,如果它实际上是字符串\ t,它会在var变量中显示,这很好。
所以现在我的变量显示了\ t,\ t,\ t,\ t,但现在当它到达字符串的其余部分时,它只显示' T'。
为什么?我知道我使用0的起始计数器,并且增加1,这就是为什么我得到了' T',但为什么我仍然会回来" \ t"每次如果我增加1。
" \ t"只考虑1个字符? 我也检查了这篇文章,这似乎与我的具体问题无关。 how many spaces are considered in \t
PS。对不起,我想确保人们完全理解我的问题。
答案 0 :(得分:4)
要回答您的问题,是的,\t
被视为单个字符。它可以代表屏幕上的多个空格是程序的一个功能,它选择这样做,但制表符仅占用一个字符的空间。