小弟做的一个C#的应用程序员
给一个文本框添加了一些字符串都是换行的 \r\n
例如
C:\Documents and Settings\Administrator\My Documents\Expression\Blend.xml 这是一行
C:\Documents and Settings\Administrator\My Documents\Expression\abc.xml 这是一行在测试的时候获取没一行的时候提示说有非法字符,
string[] splitNum = textBox1.Text.Trim().Split(new Char[] { '\n' }); for (int i = 0; i < splitNum.Length;i++ )
{
MessageBox.Show(Path.GetDirectoryName(splitNum[i]));
}我是靠\n来获取没一行数据的.
可是在用获取文件的C:\Documents and Settings\Administrator\My Documents\Expression目录的时候却发现说有非法字符?
是不是因为我之前\r\n换行的原因?
或者不用Path获取,用其他什么非法可以获取到? 取最后一个"\"? 这个这么写啊?
分数不多,求高人赐教
给一个文本框添加了一些字符串都是换行的 \r\n
例如
C:\Documents and Settings\Administrator\My Documents\Expression\Blend.xml 这是一行
C:\Documents and Settings\Administrator\My Documents\Expression\abc.xml 这是一行在测试的时候获取没一行的时候提示说有非法字符,
string[] splitNum = textBox1.Text.Trim().Split(new Char[] { '\n' }); for (int i = 0; i < splitNum.Length;i++ )
{
MessageBox.Show(Path.GetDirectoryName(splitNum[i]));
}我是靠\n来获取没一行数据的.
可是在用获取文件的C:\Documents and Settings\Administrator\My Documents\Expression目录的时候却发现说有非法字符?
是不是因为我之前\r\n换行的原因?
或者不用Path获取,用其他什么非法可以获取到? 取最后一个"\"? 这个这么写啊?
分数不多,求高人赐教
string path = str.SubString(0,str.LastIndexOf("\\"));
string[] splitNum = textBox1.Text.Trim().Split(new string[] { '\r\n' }); for (int i = 0; i < splitNum.Length;i++ )
{
MessageBox.Show(Path.GetDirectoryName(splitNum[i]));
}
试试这种
string[] splitNum = textBox1.Text.Trim().Split(new string[] {"\r\n"},StringSplitOptions.RemoveEmptyEntries);
感谢一楼和三楼的帮助.问题解决啦.
我贴出代码 // 方案1 string[] splitNum = tbAllFiles.Text.Trim().Split(new string[] {"\r\n" },StringSplitOptions.RemoveEmptyEntries);
//方案2 string[] splitNum = tbAllFiles.Text.Trim().Split(new char[] { '\n' });
for (int i = 0; i < splitNum.Length;i++ )
{
//方案1 MessageBox.Show(Path.GetDirectoryName(splitNum[i]));
//方案2 MessageBox.Show(splitNum[i].Substring(0,splitNum[i].LastIndexOf("\\")));
}