比方说,我有一个字节数组从字节数组转换为字符串,将字符串分割
Byte[] arr;
然后我将数组字符串转换1。
String inputString = "";
foreach (Byte b in arr)
{
if (b != 0)
inputString += (Char) b;
else inputString += " ";
}
假设字符串为:
inputString = @"C:\Program Files\Test C:\Users\User A\AppData\Local\Temp C 32323 C:\Program Files\Test\Temp";
我希望它被分成4个串看起来象下面这样:
C:\Program Files\Test \\position 0 = test folder
C:\Users\User A\AppData\Local\Temp \\position 1 = windows temp folder
C 32323 \\position 2 = a name. It can be C2313 or C 2312 or whatever string
C:\Program Files\Test\Temp \\position 3 = temp for test folder
\\ position can change by me...
中间的每一个字符串将空间分割。这意味着我可以使用.Split('')。但是,正如你所知,一些路径之间有空间,'C:\ Program Files \ Test'就是一个例子。
如何获得我想要的值?
确定最初的'byte []'在各个路径之间没有'\ 0'吗?尝试将'inputString + ='“'改为'inputString + =”|“' – xanatos
子串'C:\ Users \ User A \ AppData \ Local \ Temp'和'C 32323'?遵循该模式,它应该是'C:\ Users \ User A \ AppData \ Local \ Temp C 32323'文件夹,不是吗? – ASh
@xanatos它肯定会有不止一个\ 0 –