Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除"&引用;及\&引用;一串_Python_Python 3.x - Fatal编程技术网

Python 删除"&引用;及\&引用;一串

Python 删除"&引用;及\&引用;一串,python,python-3.x,Python,Python 3.x,我的项目是使用gspread模块从Google工作表中捕获日志号。但现在的问题是,捕获的日志号是字符串“\1300”的形式。我只想要字符串中的数字,但无法使用下面的代码将其删除 尝试使用.replace()函数将“\”替换为“”,但失败 a='.\1362' a.replace('\\',"") 应获取不带符号的字符串“1362”。 但是得到的结果是“^2”您的字符串应该包含两个反斜杠,如下所示\\1362或使用r'.\1362'(将字符串声明为原始字符串,然后在编译时将其转换为正常字符串)。

我的项目是使用gspread模块从Google工作表中捕获日志号。但现在的问题是,捕获的日志号是字符串“\1300”的形式。我只想要字符串中的数字,但无法使用下面的代码将其删除

尝试使用.replace()函数将“\”替换为“”,但失败

a='.\1362'
a.replace('\\',"")
应获取不带符号的字符串“1362”。
但是得到的结果是“^2”

您的字符串应该包含两个反斜杠,如下所示
\\1362
或使用
r'.\1362'
(将字符串声明为原始字符串,然后在编译时将其转换为正常字符串)。如果只有一个反斜杠,Python将理解
\136
意味着
^
,正如您所看到的(ref:)

您的字符串应该包含两个反斜杠,例如
\\1362
或使用
r.\1362'
(它将字符串声明为原始字符串,然后在编译期间将其转换为正常字符串)。如果只有一个反斜杠,Python将理解
\136
意味着
^
,正如您所看到的(ref:)

问题是
\136
具有特殊的含义(类似于
\n
对于换行符,
\t
对于选项卡等)。它似乎表示
^

请查看以下示例:

a='.\1362'
a=a.replace(“\\”,“”)
印刷品(a)
b=r'.\1362'
b=b.替换(“\\”,“”)
印刷品(b)
产生

.^2
.\1362
现在,如果您的Google Sheets模块发送的是
\1362
,而不是
\\1362
,则很可能是因为您实际上应该接收
^2
。或者,您的字符编码在某种程度上存在问题

我在
b
变量上加上的
r
修饰符意味着原始字符串,这意味着Python不会解释反斜杠,而不处理字符串。这仅在手动键入字符串时才真正有用,但您可以尝试:

a=r'{}.格式(yourStringFromGoogle)

Edit:正如注释中指出的,原始代码实际上放弃了.replace()方法的结果。我已经更新了代码,但请注意字符串插值问题仍然是一样的。

问题是
\136
具有特殊意义(类似于
\n
对于换行符,
\t
对于制表符等)。它似乎表示
^

请查看以下示例:

a='.\1362'
a=a.replace(“\\”,“”)
印刷品(a)
b=r'.\1362'
b=b.替换(“\\”,“”)
印刷品(b)
产生

.^2
.\1362
现在,如果您的Google Sheets模块发送的是
\1362
,而不是
\\1362
,则很可能是因为您实际上应该接收
^2
。或者,您的字符编码在某种程度上存在问题

我在
b
变量上加上的
r
修饰符意味着原始字符串,这意味着Python不会解释反斜杠,而不处理字符串。这仅在手动键入字符串时才真正有用,但您可以尝试:

a=r'{}.格式(yourStringFromGoogle)

Edit:正如注释中指出的,原始代码实际上放弃了.replace()方法的结果。我已经更新了代码,但请注意字符串插值问题仍然是一样的。

这里发生的事情是,
\1362
由于反斜杠而被编码为
^2
,因此您需要在使用字符串之前将其设置为原始字符串,您可以通过

a = r'{}'.format(rawInputString)
或者,如果您使用的是python3.6+,您也可以这样做

a = rf'{rawInputString}'

此处发生的情况是,由于反斜杠的原因,
\1362
被编码为
^2
,因此您需要先将字符串设置为原始字符串,然后才能使用它,您可以通过

a = r'{}'.format(rawInputString)
或者,如果您使用的是python3.6+,您也可以这样做

a = rf'{rawInputString}'

如果执行
a='.\1362'
a
将只有三个字节:

a = '.\1362'`
print(len(a))  # => 3
这是因为
\132
表示单个字符。如果要创建带有点、斜杠和数字1362的六字节字符串,则需要转义反斜杠或创建原始字符串:

a = r'.\1362'
print(len(a))  # => 6
在任何一种情况下,对字符串调用
replace
都不会替换该字符串中的字符
a
仍将是调用
replace
之前的状态。相反,
replace
返回一个新字符串:

因此,如果要替换字符,可以调用
replace
,但必须将结果保存在新变量中或覆盖旧变量


有关详细信息,请参见官方python文档中的。

如果执行
a='.\1362'
a
将只有三个字节:

a = '.\1362'`
print(len(a))  # => 3
这是因为
\132
表示单个字符。如果要创建带有点、斜杠和数字1362的六字节字符串,则需要转义反斜杠或创建原始字符串:

a = r'.\1362'
print(len(a))  # => 6
在任何一种情况下,对字符串调用
replace
都不会替换该字符串中的字符
a
仍将是调用
replace
之前的状态。相反,
replace
返回一个新字符串:

因此,如果要替换字符,可以调用
replace
,但必须将结果保存在新变量中或覆盖旧变量


有关详细信息,请参见官方python文档中的。

我需要获取的整数值。\1234以便与网站上的实际最新版本号进行比较,该版本号是一个整数值,可以继续执行其他函数。由于字符串是不可变的,因此a.replace(“\\”,“”)后面不是print(a)只需打印原稿?哈哈,哦,孩子,你当然是对的!然而,在本例中,它不会改变结果。replace方法仍然在已解释的字符串上运行。我将用正确的代码更新most。非常感谢。