我想知道文件路径\
和/
文件路径之间的区别.我注意到有时路径包含/
,有时它与之相关\
.
如果有人能解释何时使用\
和,那将是很好的/
.
我已经尝试了一个多小时,无法找到正确的方法来做到这一点,虽然它可能很容易:
我有这样的事情: foo/bar/test.html
我想使用jQuery在最后一个之后提取所有内容/
.在上面的例子中,输出将是test.html
.
我想它可以使用substr
和完成indexOf()
,但我找不到一个有效的解决方案.
我知道这不是应该做的事情,但有没有办法使用斜杠字符,通常在Linux中分隔文件名中的目录?
我想从Java中的字符串中删除尾部斜杠.
我想检查字符串是否以url结尾,如果是,我想删除它.
这是我有的:
String s = "http://almaden.ibm.com/";
s= s.replaceAll("/","");
Run Code Online (Sandbox Code Playgroud)
还有这个:
String s = "http://almaden.ibm.com/";
length = s.length();
--length;
Char buff = s.charAt((length);
if(buff == '/')
{
LOGGER.info("ends with trailing slash");
/*how to remove?*/
}
else LOGGER.info("Doesnt end with trailing slash");
Run Code Online (Sandbox Code Playgroud)
但是没有工作.
所以我似乎无法弄清楚这一点......我有一个字符串说,"a\\nb"
我希望这成为"a\nb"
.我已经尝试了以下所有,似乎没有工作;
>>> a
'a\\nb'
>>> a.replace("\\","\")
File "<stdin>", line 1
a.replace("\\","\")
^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\")
File "<stdin>", line 1
a.replace("\\",r"\")
^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\\")
'a\\\\nb'
>>> a.replace("\\","\\")
'a\\nb'
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么最后一个有效,因为这很好用:
>>> a.replace("\\","%")
'a%nb'
Run Code Online (Sandbox Code Playgroud)
这里有什么我想念的吗?
编辑我明白\是一个转义字符.我在这里要做的是将所有\\n
\\t
等等转换成\n
\t
等等,并且替换似乎没有像我想象的那样工作.
>>> a = "a\\nb"
>>> b = "a\nb"
>>> print a
a\nb
>>> print b
a
b
>>> a.replace("\\","\\")
'a\\nb'
>>> a.replace("\\\\","\\")
'a\\nb'
Run Code Online (Sandbox Code Playgroud)
我希望字符串a看起来像字符串b.但是替换不是像我想的那样替换斜线.
让我们假设我有这个变量:
DATE="04/Jun/2014:15:54:26"
.
其中我需要更换/
与\/
为了得到字符串:
"04\/Jun\/2014:15:54:26"
.
我尝试tr
如下:
echo "04\Jun\2014:15:54:26" | tr '\' '\\/'
但这会导致:"04\Jun\2014:15:54:26"
.
它不满足我.有人可以帮忙吗?
我正在尝试将所有反斜杠()转换为包含文件名和位置的变量中的正斜杠(/).我读过这个并看到过:
%variable:str1=str2%
Run Code Online (Sandbox Code Playgroud)
和
set "var=%var:\=/%"
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的,但我显然没有把它弄好.
这是我的.bat脚本的相关部分:
FOR %%f IN ("E:\myfiles\app1\data\*.csv") DO (
echo %%f
set "f=%%f:\=/%"
echo %%f
echo.
)
Run Code Online (Sandbox Code Playgroud)
输出显示每个文件名列出两次.
即这一行:
set "f=f:\=/%"
Run Code Online (Sandbox Code Playgroud)
没有做我想做的事.谁能看到我做错了什么?
可能重复:
JSON:为什么正斜杠被转义?
json.org指出,正斜杠(又名solidus /
)可以被转义:
"\/"
Run Code Online (Sandbox Code Playgroud)
但是,未转义的斜杠也是有效的:
"/"
Run Code Online (Sandbox Code Playgroud)
这背后的理性是什么?它来自Javascript根源吗?(即,"</script>"
基于浏览器的Javascript中存在问题,请参阅Douglas Crockford的评论)或者有任何其他原因吗?
我有一个基于WCF REST服务模板40(CS)的WCF REST 4.0项目.我想暴露简单的服务端点URL 而不用尾部斜杠.例如:
我将上面的URL看作资源请求(而不是目录),这就是为什么我不认为尾部斜杠在这里是合适的.
不幸的是,我似乎无法得到我想要的行为,因为我总是被重定向到带有斜杠的/ cars /和/ trucks/.
这是我如何定义"汽车"路线和服务方法 - 请注意,我没有在任何路径或URI模板定义中包含任何斜杠:
// Global.asax.cs
RouteTable.Routes.Add(new ServiceRoute("cars", new WebServiceHostFactory(), typeof(CarService)));
// CarService.cs
[WebGet(UriTemplate = "")]
public List<Car> GetCollection()
{
return DataContext.GetAllCars();
}
Run Code Online (Sandbox Code Playgroud)
请注意,MVC不会以这种方式工作.使用MapRoute方法,我可以将请求直接路由到http://www.domain.com/about,而无需重定向到/ about /.如何在WCF REST 4.0中获得相同的行为?
我的C#应用程序将其双引号包围的完整路径写入文件,其中:
streamWriter.WriteLine("\"" + Application.ExecutablePath + "\"");
Run Code Online (Sandbox Code Playgroud)
通常它可以工作,写入的文件包含
"D:\Dev\Projects\MyApp\bin\Debug\MyApp.exe"
Run Code Online (Sandbox Code Playgroud)
但是,如果我的应用程序的可执行路径包含#,则会发生奇怪的事情.输出变为:
"D:\Dev\Projects#/MyApp/bin/Debug/MyApp.exe"
Run Code Online (Sandbox Code Playgroud)
#之后的斜线成为正斜杠.这会导致我正在开发的系统出现问题.
为什么会发生这种情况,有没有办法防止它比string更优雅.在写入前更换路径?