标签: backslash

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

例如:

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
查看次数

python将反斜杠替换为斜杠

如何逃避字符串中的反斜杠:'pictures\12761_1.jpg'

我知道原始字符串.如果我'pictures\12761_1.jpg'从xml文件获取值,如何将str转换为raw ?

python string filepath backslash

10
推荐指数
1
解决办法
5万
查看次数

mysql:在字符串中替换\(反斜杠)

我有以下问题:

我有一个表T,其列名称包含名称.名称具有以下结构:

甲\\乙\ C

你可以这样创建自己:

create table T ( Name varchar(10));

insert into T values ('A\\\\B\\C');

select * from T;
Run Code Online (Sandbox Code Playgroud)

现在,如果我这样做:

select Name from T where Name = 'A\\B\C';
Run Code Online (Sandbox Code Playgroud)

那不起作用,我需要逃避\(反斜杠):

select Name from T where Name = 'A\\\\B\\C';
Run Code Online (Sandbox Code Playgroud)

精细.

但是我如何自动将其作为字符串名称?

像下面这样的东西不会这样做:

select replace('A\\B\C', '\\', '\\\\');
Run Code Online (Sandbox Code Playgroud)

我明白了: A\\\BC

有什么建议?

提前谢谢了.

mysql replace backslash

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

包括从Windows到Linux的标头路径更改

我正在将用C++编写的应用程序从Windows移植到Linux.我的头文件路径有问题.Windows使用\和Linux使用/.我发现在每个源和头文件中更改它很麻烦.有一些工作吗?

c++ header include backslash

9
推荐指数
4
解决办法
7657
查看次数

从命令行将元字符作为参数传递给Python

我正在制作一个Python程序,它将解析某些输入行中的字段.我想让用户从命令行输入字段分隔符作为选项.我正在使用optparse这个.我遇到的问题就是输入类似于\t字面意思的东西\t,而不是在标签上,这就是我想要的.我很确定这是一个Python的东西而不是shell,因为我已经尝试了所有引号,反斜杠和t我能想到的组合.

如果我optparse能让这个论点成为明确的输入(是否存在这样的事情?)而不是raw_input,我认为这样可行.但我不知道该怎么做.

我还尝试了各种替换和正则表达式技巧,将字符串从两个字符"\t"转换为一个字符选项卡,但没有成功.

示例,其中input.txt:

field 1[tab]field\t2

(注意:[tab]是一个制表符,field\t2是一个8个字符的字符串)

parseme.py:

#!/usr/bin/python
from optparse import OptionParser  
parser = OptionParser()  
parser.add_option("-d", "--delimiter", action="store", type="string",  
    dest="delimiter", default='\t')  
parser.add_option("-f", dest="filename")  
(options, args) = parser.parse_args()  
Infile = open(options.filename, 'r')  
Line = Infile.readline()  

Fields = Line.split(options.delimiter)  
print Fields[0]  
print options.delimiter  

Infile.close()  
Run Code Online (Sandbox Code Playgroud)

这给了我:

$ parseme.py -f input.txt  
field 1  
[tab]
Run Code Online (Sandbox Code Playgroud)

嘿,很好,默认设置正常.(是的,我知道我可以做出默认设置并忘记它,但我想知道如何处理这类问题.)

$ parseme.py -f input.txt -d '\t'  
field 1[tab]field …
Run Code Online (Sandbox Code Playgroud)

python escaping backslash command-line-arguments

9
推荐指数
1
解决办法
3075
查看次数

如何在java中的文件路径中转义反斜杠和自动生成的转义字符

我有一个非常小而简单的问题,但我没有得到解决方案.实际上我正在使用文件选择器获取CSV文件路径.我使用load data local infile query将此csv文件中的数据输入到数据库中.

假设我输入的文件路径是"C:\ title.csv"当我将此字符串放入查询时,您将在路径中看到\ t组合.这个\ t实际上是文件路径的一部分而不是转义字符'\ t'.但java和mysql认为它是转义字符.

然后我尝试使用以下代码行将文件路径字符串中的'\'替换为"\\".

String filepath="C:\title.csv";
String filepath2=filepath.replace("\\","\\\\");
Run Code Online (Sandbox Code Playgroud)

仍然没有对文件路径的影响,它仍然认为'\ t'作为转义字符.

所以我的问题是如何在不更改文件名的情况下解决此问题?

如果我们有路径

String filepath="C:\new folder\title.csv";
Run Code Online (Sandbox Code Playgroud)

它会将\n和\ t视为转义字符.如果路径中的文件或文件夹的名称导致转义字符,如何解决此问题?

java escaping filepath backslash

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

在emacs的"自定义"模式下,需要多少反斜杠来逃避正则表达式?

我正在尝试使用emacs的customize-group软件包来调整我的设置的某些部分,而且我受到了阻碍.在使用自定义进行更改后,我在.emacs文件中看到类似这样的内容:

'(tramp-backup-directory-alist (quote (("\\\\`.*\\\\'" . "~/.emacs.d/autobackups"))))
Run Code Online (Sandbox Code Playgroud)

这是将以下内容放入自定义文本字段的结果:

Regexp matching filename: \\`.*\\'
Run Code Online (Sandbox Code Playgroud)

这是一个有代表性的例子:我实际上试图改变一些想要正则表达式的东西,它们都显示出同样的问题.有多少层报价,真的吗?我似乎无法找到神奇的反斜杠数来获得我所要求的gosh-dang事情,即使对于最简单的正则表达式也是如此.*.现在,给定的定制产生 - 没有.它没有改变emacs的默认行为.

更好的是,这在哪里记录了?谷歌有点困难,但我在那里以及官方文档和Emacs维基中都尝试过很多东西.在自定义模式下,需要在正常表达式中生成多少副本反斜杠的权威来源实际上是什么工作 - 或者至少是因为某种警告失败而不是默默地失败?


编辑:正如经常在愤怒中提出的问题一样,我问的是错误的问题.幸运的是,下面的答案让我得到了我需要的问题的答案,这是关于引用规则的.我将尝试写下我在这里学到的内容,因为我发现文档和Googleable资源令人抓狂.所以这里是我通过反复试验找到的引用规则,我希望他们帮助别人,激励纠正,或两者兼而有之.

当emacs自定义模式缓冲区要求您提供"正则表达式匹配文件名"时,正如emacs经常出现的那样,它既简洁又特殊(创作者的个性多久被赋予创作!).一方面,这意味着一个正则表达式将与搜索匹配项的文件的整个路径进行比较,而不仅仅是文件本身的名称,正如您可能从术语"文件名"中所假设的那样.例如,这与emacs buffer-file-name函数中使用的"文件名"相同.

此外,虽然如果你放入foo字段,你会看到"foo"(用双引号)写入实际文件,这是不够引用而不是正确的引用.你需要引用你的正则表达式,引用样式,据我所知,只有emacs使用:``backtick-foo-single-quote'`scheme.然后你需要逃避它,制作它\`backslash-backtick-foo-backslash-single-quote\'(如果你认为在Markdown中输入是一件令人头痛的话,那么在emacs中更是如此).

除此之外,emacs似乎有一个规则,即正则.表达式特殊字符/与文件名的开头不匹配,因此,正如我上面发生的那样,经典.*模式似乎没有任何匹配:匹配"所有文件" ,你实际上需要正则表达式/.*,然后你填写自定义模式的报价格式来生成\`/.*\',之后自定义绘制另一层转义到它并将其写入自定义文件.

我的一个努力的最终结果 - 一个设置,使#autosave#文件不会使你正在工作的目录嘎嘎作响,而是所有人都住在一个地方:

(custom-set variables
  '(auto-save-file-name-transforms (quote (
    ("\\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'" "~/.emacs.d/autobackups/\\2" t)
    ("\\`/.*/\\(.*?\\)\\'" "~/.emacs.d/autobackups/\\1" t)
))))
Run Code Online (Sandbox Code Playgroud)

elisp的反斜杠对你的理智的威胁远大于括号.


编辑2:我再次出错的时候了.我终于找到了相关的文档(当然是通过阅读另一个Stack Overflow问题!):Regexp Backslash Constructs.对我来说困惑的关键点:反引号和单引号在这种情况下没有引用:它们相当于perl …

regex emacs elisp backslash

9
推荐指数
1
解决办法
813
查看次数

Eclipse project.properties反斜杠路径被认为是有害的

我正在开发一个正在开发Android软件的团队.一些团队成员使用Windows,一些人使用Mac,我知道使用Linux.每个人都使用Eclipse.

Eclipse写了一个名为的文件project.properties; 这是一个例子.最重要的部分是最后三行,即android库引用路径.

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): …
Run Code Online (Sandbox Code Playgroud)

eclipse mercurial path backslash

9
推荐指数
1
解决办法
1726
查看次数

Golang:逃避单引号

有没有办法逃避单引号?

下列:

str := "I'm Bob, and I'm 25."
str = strings.Replace(str, "'", "\'", -1)
Run Code Online (Sandbox Code Playgroud)

给出错误:未知的转义序列:'

我想成为

"I\'m Bob, and I\'m 25."
Run Code Online (Sandbox Code Playgroud)

escaping go backslash quote

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

cmd目录处理中的双反斜杠

由于cmd脚本中有时会出现空变量,因此我得到带有双重反斜杠(\\)的目录定义.例:

SET "Mp3OutDir=%Mp3Root%\%AlbumDir%\%AlbumArtist1stChar%\%AlbumArtistSort_VDN%\[%Year%] %Album_VDN%"
Run Code Online (Sandbox Code Playgroud)

如果%AlbumDir%未在过程中由用户定义,则会导致类似的行为

mkdir "D:\Public\Music\Mp3CDRips\\G\Gabriel, Peter"
Run Code Online (Sandbox Code Playgroud)

这似乎没有错误,但我很好奇cmd-interpreter是否允许这样的术语.

干杯,马丁

cmd batch-file backslash

8
推荐指数
1
解决办法
3905
查看次数