标签: backslash

使用javascript将反斜杠转换为正斜杠无法正常工作?

我有一个javascript变量从遗留系统传入反斜杠到正斜杠:

'/46\465531_Thumbnail.jpg'

我试图转换成这个:

'/46/465531_Thumbnail.jpg'.

没有办法解决遗留系统上的问题.

这是我在IE8浏览器上运行的命令:

javascript:alert("/46\465531_Thumbnail.jpg".replace(/\\/g,"/"));
Run Code Online (Sandbox Code Playgroud)

作为回应我得到:

---------------------------
Message from webpage
---------------------------
/46&5531_Thumbnail.jpg
---------------------------
OK   
---------------------------
Run Code Online (Sandbox Code Playgroud)

实际上我只想翻译成 '/46/465531_Thumbnail.jpg'

怎么了?

javascript slash backslash

14
推荐指数
1
解决办法
2万
查看次数

如何在R字符串中转义反斜杠

我正在使用R将字符串写入文件:

> x1="\\str"
> x2="\\\str"
Error: '\s' is an unrecognized escape in character string starting "\\\s"
> x2="\\\\str"
> write(file='test',c(x1,x2))
Run Code Online (Sandbox Code Playgroud)

当我打开名为的文件时test,我看到了这个:

\str
\\str
Run Code Online (Sandbox Code Playgroud)

如果我想得到一个包含5个反斜杠的字符串,我应该写10个反斜杠,像这样吗?

x="\\\\\\\\\\str" 
Run Code Online (Sandbox Code Playgroud)

file-io r escaping backslash

14
推荐指数
3
解决办法
4万
查看次数

将反斜杠添加到字符串

我有一个路径,我想添加一些名为test的新子文件夹.请帮我看看如何做到这一点.我的代码是:

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
 Console.WriteLine(path+"\test");
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:"c:\ Users\My Name\Pictures\test"

请帮我找出正确的方法.

c# string path backslash

13
推荐指数
4
解决办法
8万
查看次数

路径与反斜杠到正向斜线javascript的路径

我正在尝试为一些同事制作解析"应用程序" 的本地 xml文件,并且我正在使用当前函数来检索文件:

function ShowFolderFileList(folderspec) {
    var fso, f, f1, fc, s;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFolder(folderspec);
    fc = new Enumerator(f.files);
    s = "";
    for (; !fc.atEnd(); fc.moveNext()) {
        var pathString = fc.item();
        $("#test").append(pathString + "<br />");
    }
}
Run Code Online (Sandbox Code Playgroud)

这个函数的问题是它返回一个类似于的字符串:

C:\Users\SomeUser\Desktop\cool\Archief\CDATA1.xml
Run Code Online (Sandbox Code Playgroud)

我需要替换反斜杠以转换整个字符串的斜杠.这该怎么做?

我尝试了替换方法:

pathString.replace(/\\/g, "/")
Run Code Online (Sandbox Code Playgroud)

但它似乎没有做到这一点.

你能帮助我吗?

javascript replace backslash

12
推荐指数
1
解决办法
2万
查看次数

如何在bash printf中转义一系列反斜杠?

以下脚本产生了意外的输出:

printf "escaped slash: \\ \n"
printf "2 escaped slashes: \\\\ \n"
printf "3 escaped slashes: \\\\\\ \n"
printf "4 escaped slashes: \\\\\\\\ \n"
Run Code Online (Sandbox Code Playgroud)

在Ubuntu 14下作为bash脚本运行,我看到:

escaped slash: \
2 escaped slashes: \ 
3 escaped slashes: \\ 
4 escaped slashes: \\
Run Code Online (Sandbox Code Playgroud)

呃.. 什么?

string bash escaping backslash

12
推荐指数
2
解决办法
2万
查看次数

FireFox和Chrome在URL中处理\(反斜杠)的不同行为

背景

根据我的经验,当我的ubuntu工作站在具有活动目录的域上配置时,为我创建的用户名是根据以下模式.

DOMAIN_NAME \用户名

在linux上使用apache 的userdir扩展将需要在URL中使用用户名才能访问主目录中的public_html.

HTTP://本地主机/〜DOMAIN_NAME \用户名

问题A:

Chrome将URL中的所有反斜杠" \ "字符转换为正斜杠" / ",结果网址变为完全不同,并且始终显示" 未找到"结果.

HTTP://本地主机/〜DOMAIN_NAME/USER_NAME

另一方面, Firefox 不会将斜杠转换为正斜杠,因此Web服务器会向目标目标提供http请求.

Common solution is to encode back slash in %5C.
Run Code Online (Sandbox Code Playgroud)

问题B:

如果我们在CSS @import构造中使用类似的路径(包含\ in path),则通过报告404错误而导致css文件作为HTTP Get Request的导入过程失败,并且404错误中报告的URL错过了\ altogether 的存在.这意味着在从中调用GET请求之前,会从URL中删除\.

这种行为在Firefox和Chrome中很常见.但他们有不寻常的解决方案

Firefox需要转义反斜杠才能在css导入过程中工作.

@import url(" http:// localhost/~domain_name \\ user_name/path/to/css ");

Chrome通常需要编码的反斜杠解决方案.

@import url(" http:// localhost/~domain_name%5Cuser_name/path/to/css ");

  • 在URL中处理\的统一解决方案是什么?
  • 有没有办法避免\出现在用户名中?

css url firefox google-chrome backslash

11
推荐指数
1
解决办法
2万
查看次数

为什么按Ctrl-backslash会导致核心转储?

当我在python应用程序(例如python shell)中时,按下Ctrl\结果

>>> Quit (core dumped)
Run Code Online (Sandbox Code Playgroud)

为什么这样,我怎么能避免这种情况?如果我Ctrl\偶然按下应用程序,那么非常不方便.

python coredump ctrl backslash

11
推荐指数
2
解决办法
7867
查看次数

如何在PowerShell -replace字符串操作中处理反斜杠字符?

我使用-replace来改变从源到目的地的路径.但是我不知道如何处理\字符.例如:

$source = "\\somedir"
$dest = "\\anotherdir"

$test = "\\somedir\somefile"

$destfile = $test -replace $source, $dest
Run Code Online (Sandbox Code Playgroud)

执行此操作后,$ destfile将设置为

"\\\anotherdir\somefile"
Run Code Online (Sandbox Code Playgroud)

为避免结果中的三重反斜杠,这样做的正确方法是什么?

powershell replace backslash

11
推荐指数
1
解决办法
3万
查看次数

如何从字节对象中删除双反斜杠(`\\`)?

例如:

t = str.encode(msg)

print(t)
Run Code Online (Sandbox Code Playgroud)

我收到双斜杠,如下所示:

b'\\xda\\xad\\x94\\xb4\\x0bg\\x92]R\\x9a1y\\x9d\\xed\\x04\\xd5\\x8e+\\x07\\xf8\\x03\\x1bm\\xd6\\x96\\x10\\xca80\\xe26\\x8a
Run Code Online (Sandbox Code Playgroud)

但是,我想得到的结果是:

b'\xda\xad\x94\xb4\x0bg\x92]R\x9a1y\x9d\xed\x04\xd5\x8e+\x07\xf8\x03\x1bm\xd6\x96\x10\xca80\xe26\x8a'
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

python byte backslash

11
推荐指数
2
解决办法
9813
查看次数

究竟反斜杠在反引号内如何工作?

Bash常见问题解答

反引号内的反斜杠(\)以非显而易见的方式处理:

 $ echo "`echo \\a`" "$(echo \\a)"
 a \a
 $ echo "`echo \\\\a`" "$(echo \\\\a)"
 \a \\a
Run Code Online (Sandbox Code Playgroud)

但是,FAQ并未分解导致这种差异的解析规则。man bash我发现的唯一相关报价是:

当使用旧式的反引号形式的替换时,反斜杠保留其字面意思,除非后面是$,`或。

The "$(echo \\a)" and "$(echo \\\\a)" cases are easy enough: Backslash, the escape character, is escaping itself into a literal backlash. Thus every instance of \\ becomes \ in the output. But I'm struggling to understand the analogous logic for the backtick cases. What is the underlying rule and how does the observed output follow …

bash escaping backslash backticks

11
推荐指数
1
解决办法
313
查看次数