Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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_String_Nlp - Fatal编程技术网

Python没有';不考虑性格“。";一串

Python没有';不考虑性格“。";一串,python,string,nlp,Python,String,Nlp,我有这样一个字符串: mystring=“Clusterd695c_ROUGE1.csv” 当我使用mystring.rstrip(“\u ROUGE1.csv”)时,我希望返回“Clusterd695c”,但我得到了“Clusterd695”。就好像最后一个字符“c”没有被看到一样。这种情况只发生在字符“c”上,而其他字符则为真。像这样: mystring="Clusterd695f_ROUGE1.csv" mystring.rstrip("_ROUGE1.csv

我有这样一个字符串:

mystring=“Clusterd695c_ROUGE1.csv”

当我使用
mystring.rstrip(“\u ROUGE1.csv”)
时,我希望返回
“Clusterd695c”
,但我得到了
“Clusterd695”
。就好像最后一个字符“c”没有被看到一样。这种情况只发生在字符“c”上,而其他字符则为真。像这样:

mystring="Clusterd695f_ROUGE1.csv"
mystring.rstrip("_ROUGE1.csv")
然后我得到了
“Clusterd695f”
,这是预期的结果


如何更正此问题?

这让我有点惊讶,但问题是
rstrip
在提供字符串时,会将该字符串视为一个集合,并从字符串末尾删除字符,直到它们不属于该集合。因为在新创建的集合(即csv)中有一个“c”,所以它也会删除末尾的“c”,在“5”处停止,因为它不属于字符串“\u ROUGE1.csv”


处理这个问题的一种方法是使用replace:
mystring.replace(“\ruge1.csv”,”)
;另一种选择是简单地切掉最后一个
len(“\u ROUGE1.csv”)
字符。
replace
方法的一个警告是它将替换字符串中的任何位置,因此
将“\u ROUGE1.csv\u ROUGE1.csv.replace”(\u ROUGE1.csv),”)==”

函数总是以这种方式工作(即将其参数视为字符集),因此我不理解这一惊奇。在给定的用例中,调用的函数是错误的。是的,
mystring.replace(“\u ROUGE1.csv”,”)
解决了这个问题。@guidot因为在任何其他语言中它都不会这样工作。:-)自动强制到(逻辑)集绝对不是显式的(根据zen)。
str.strip
help
条目也没有明确提到这种行为(至少在3.6.10中)。因此我觉得有点奇怪。@erip:Given,没有类型字符集,我发现描述如果提供了字符而不是无字符,那么删除字符中的字符就足够清楚了。但是,这个参数要好一点:chars参数是一个字符串,指定要删除的字符集,它的示例与问题的示例非常类似。有type
set
,但我们离题了。:-)