低级问题,字符串操作(很急!)

infsafe 2009-06-07 03:00:37
怎么把这个FilePath:string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml"
转换为:"E:\\biye\\DDKDemo\\MmsDemo\\Smil\\1.siml"
大哥们帮我写个代码吧。谢谢啊
...全文
94 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
infsafe 2009-12-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 htltee2 的回复:]
string FilePath = @"E:\biye\DDKDemo\MmsDemo\Smil\1.siml";
FilePath = FilePath.Replace(@"\", @"\\");

对于string来说“\”是转义字符。所以你直接定义string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml";是会报错的。因为编译器不知道"\b" "\D"之类的是什么东西,所以就报错了。

所以必须使用@,表示引号里的字符串是纯字符串,没有转义字符。

同理,使用Replace()方法时,也要用@
[/Quote]

嗯,虽然你的回答晚了几个月,不过散分帖子会多给你分的。
htltee2 2009-12-26
  • 打赏
  • 举报
回复
string FilePath = @"E:\biye\DDKDemo\MmsDemo\Smil\1.siml";
FilePath = FilePath.Replace(@"\", @"\\");

对于string来说“\”是转义字符。所以你直接定义string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml";是会报错的。因为编译器不知道"\b" "\D"之类的是什么东西,所以就报错了。

所以必须使用@,表示引号里的字符串是纯字符串,没有转义字符。

同理,使用Replace()方法时,也要用@
infsafe 2009-06-07
  • 打赏
  • 举报
回复
我对c#是一无所知。掌柜们批评的对,我是迷糊中。不过我解决了。把\转换为/就行了呃。谢谢大家。结贴。
pwf8285319 2009-06-07
  • 打赏
  • 举报
回复
string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml";
这个就是不对的,更别替换了
FilePath = @"E:\biye\DDKDemo\MmsDemo\Smil\1.siml"
可以用16L的方法
期待大家解决
Sysping1 2009-06-07
  • 打赏
  • 举报
回复
replace(@"\", @"\\");
wuyq11 2009-06-07
  • 打赏
  • 举报
回复
播放文件用相对路径就是
replace("\\", "\\\\");替换
Qstr_run 2009-06-07
  • 打赏
  • 举报
回复
String FilePath="E:\\biye\\DDKDemo\\MmsDemo\\Smil\\1.siml";
System.out.println(FilePath);
FilePath=FilePath.replace("\\", "\\\\");
System.out.println(FilePath);
这样可以实现你想要的结果。。。
我姓区不姓区 2009-06-07
  • 打赏
  • 举报
回复
我赞成CsToD的话,要么是楼主迷糊了,要么就是楼主根本连字符转义都没搞清楚
Qstr_run 2009-06-07
  • 打赏
  • 举报
回复
String FilePath="E:\\biye\\DDKDemo\\MmsDemo\\Smil\\1.siml";
你本身少写个\。。因为\是个转义字符
infsafe 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 CsToD 的回复:]
唉....
问题是你没有必要把E:\\biye\\DDKDemo\\MmsDemo\\Smil\\1.siml存到数据库里,直接存E:\biye\DDKDemo\MmsDemo\Smil\1.siml 就行了
[/Quote]
关键是我以后用到的地方这样不行啊。我的用

public string GetURL()
{
string Url = Request.QueryString["FilePath"].ToString();

return Url;
}

这个函数获取,然后给网页上的realplayer播放
CsToD 2009-06-07
  • 打赏
  • 举报
回复
唉....
问题是你没有必要把E:\\biye\\DDKDemo\\MmsDemo\\Smil\\1.siml存到数据库里,直接存E:\biye\DDKDemo\MmsDemo\Smil\1.siml 就行了
infsafe 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 CsToD 的回复:]
楼主迷糊了,楼上各位也迷糊了?

双反斜杠只是C#的“表达”方式,内部仍是单反斜杠。

string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml" //编译错误,不可识别的转义序列
FilePath = FilePath.replace("\","\\")

你这什么代码啊?

楼主完全处于迷蒙状态:
首先,如果是你自己在程序中写的字符串,编译器根本不会编译通过,更不要说转换了
其次,如果是从文件中读出来的,根本不需要转换,不存在这…
[/Quote]
这是代码:
string FilePath = "Smil\\mms" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".smil";
string strFileName = Request.PhysicalApplicationPath + FilePath;


存到数据库里面的话 strFileName就是E:\biye\DDKDemo\MmsDemo\Smil\1.siml
就是说我怎么把它转换为E:\\biye\\DDKDemo\\MmsDemo\\Smil\\1.siml再存呢?
前提是上面的代码不能变,然后对strFileName操作。谢谢您!
-过客- 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 infsafe 的回复:]
我必须这样做

string fp = @FilePath;
但是不行。
[/Quote]

FilePath如何得到的,有什么理由要这么做?
infsafe 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lxcnn 的回复:]
try...


C# codestring FilePath = @"E:\biye\DDKDemo\MmsDemo\Smil\1.siml";
[/Quote]
我必须这样做

string fp = @FilePath;
但是不行。
CsToD 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cai3725 的回复:]
string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml"
FilePath = FilePath.replace("\","\\")

差不多这样的。没开IDE敲不对别见怪
[/Quote]

看来你真是离不开IDE
CsToD 2009-06-07
  • 打赏
  • 举报
回复
楼主迷糊了,楼上各位也迷糊了?

双反斜杠只是C#的“表达”方式,内部仍是单反斜杠。

string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml" //编译错误,不可识别的转义序列
FilePath = FilePath.replace("\","\\")

你这什么代码啊?

楼主完全处于迷蒙状态:
首先,如果是你自己在程序中写的字符串,编译器根本不会编译通过,更不要说转换了
其次,如果是从文件中读出来的,根本不需要转换,不存在这样的问题
infsafe 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cai3725 的回复:]
string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml"
FilePath = FilePath.replace("\","\\")

差不多这样的。没开IDE敲不对别见怪
[/Quote]
E:\biye\DDKDemo\MmsDemo\SendMMS.aspx.cs(80,50): 错误 CS1056: 意外的字符“\”
E:\biye\DDKDemo\MmsDemo\SendMMS.aspx.cs(80,51): 错误 CS1056: 意外的字符“\”
E:\biye\DDKDemo\MmsDemo\SendMMS.aspx.cs(80,52): 错误 CS1010: 常量中有换行符
出现的错误。。。。
-过客- 2009-06-07
  • 打赏
  • 举报
回复
try...

string FilePath = @"E:\biye\DDKDemo\MmsDemo\Smil\1.siml";
Learn-anything 2009-06-07
  • 打赏
  • 举报
回复
ls方法可以
正宗熊猫哥 2009-06-07
  • 打赏
  • 举报
回复
string FilePath = "E:\biye\DDKDemo\MmsDemo\Smil\1.siml"
FilePath = FilePath.replace("\","\\")

差不多这样的。没开IDE敲不对别见怪

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧