对于这个问题中希望在30秒内得到答案的部分,我专门寻找C#但在一般情况下,去除任何语言中的标点符号的最佳方法是什么?我应该补充:理想情况下,解决方案不需要您列举所有可能的标点符号。相关:StripPunctuationinPython 最佳答案 newstring(myCharCollection.Where(c=>!char.IsPunctuation(c)).ToArray()); 关于c#-如何从字符串中去除标点符号?,我们在StackOverflow上找到一个类似的问题:
我使用这些代码行删除所有标点符号、符号等,您可以在数组中看到它们,$pattern_page=array("+",",",".","-","'","\"","&","!","?",":",";","#","~","=","/","$","£","^","(",")","_","");$pg_url=str_replace($pattern_page,'',strtolower($pg_url));但我想让它更简单,因为在数组中列出我想删除的所有内容看起来很愚蠢,因为可能还有一些其他我想删除的特殊字符。我想到了使用下面的正则表达式,$pg_url=preg_replace("/\W+/"
我对preg_replace有个小问题.我需要一个函数来删除除[A-z][0-9]之外的所有字符和.!?.我可以使用preg_match,但这只验证字符串,我想删除字符。这样我就不会把像这样的垃圾字符放在最后和;[[;[p;[在描述META标签中。所以函数必须这样做:;")kk23?!→brkk23?!任何帮助将不胜感激:D 最佳答案 $string=';")kk23?!';$new_string=preg_replace("/[^A-Za-z0-9.!?]/",'',$string);echo$new_string;叶子:字母、数
假设我有这个:$hello="Hello,isStackOverflowahelpfulwebsite!?Yes!";我想去掉标点符号,输出为:hello_is_stackoverflow_a_helpful_website_yes我该怎么做? 最佳答案 #tokeepletters&numbers$s=preg_replace('/[^a-z0-9]+/i','_',$s);#or...$s=preg_replace('/[^a-z\d]+/i','_',$s);#tokeeplettersonly$s=preg_replace(
我有一个字符串,我想从中删除所有标点符号。我怎么做?我做了一些研究,发现人们使用ispunct()函数(我试过了),但我似乎无法让它在我的代码中工作。有人有什么想法吗?#includeintmain(){stringtext="this.ismystring.it'shere."if(ispunct(text))text.erase();return0;} 最佳答案 使用算法remove_copy_if:-stringtext,result;std::remove_copy_if(text.begin(),text.end(),st
我想知道如何实现一个函数get_words(),它返回列表中字符串中的单词,去掉标点符号。我希望如何实现它是将非string.ascii_letters替换为''并返回一个.split()。defget_words(text):'''Thefunctionshouldtakeoneargumentwhichisastring'''returnstext.split()例如:>>>get_words('Helloworld,mynameis...James!')返回:>>>['Hello','world','my','name','is','James'] 最
我想替换(而不是删除)Python中字符串中的所有标点符号“”。下面的味道有什么有效的吗?text=text.translate(string.maketrans("",""),string.punctuation) 最佳答案 此答案适用于Python2,仅适用于ASCII字符串:字符串模块包含两个可以帮助您的东西:标点符号列表和“maketrans”函数。以下是您可以如何使用它们:importstringreplace_punctuation=string.maketrans(string.punctuation,''*len(s
我正在尝试有效地从unicode字符串中去除标点符号。对于常规字符串,使用mystring.translate(None,string.punctuation)显然是fastestapproach.但是,此代码在Python2.7中的unicode字符串上中断。作为对此answer的评论解释一下,translate方法仍然可以实现,但必须用字典来实现。当我使用这个implementation不过,我发现translate的性能大大降低。这是我的计时码(主要从这个answer复制):importre,string,timeitimportunicodedataimportsys#Stri
我正在使用NLTK和scikit-learn的CountVectorizer的组合来进行词干提取和标记化。以下是CountVectorizer的简单用法示例:fromsklearn.feature_extraction.textimportCountVectorizervocab=['Theswimmerlikesswimmingsoheswims.']vec=CountVectorizer().fit(vocab)sentence1=vec.transform(['Theswimmerlikesswimming.'])sentence2=vec.transform(['Theswim
我有这段代码用于从正则表达式字符串中删除所有标点符号:importregexasrere.sub(ur"\p{P}+","",txt)如何更改它以允许使用连字符?如果你能解释一下你是怎么做到的,那就太好了。我明白这里,如果我错了,请纠正我,P后面的任何东西都是标点符号。 最佳答案 [^\P{P}-]+\P是\p的补充-不是标点符号。所以这匹配任何not(不是标点符号或破折号)-导致除破折号之外的所有标点符号。示例:http://www.rubular.com/r/JsdNM3nFJ3如果您想要一种不复杂的方式,另一种选择是\p{P}