标签: punctuation

Solr:在索引之前剥离标点符号

我遇到了从solr索引中去除标点符号的问题当标点符号紧跟在一个单词后面时,这个单词没有正确编入索引.

例如:如果我们索引"hello,John",则不会通过关键字"hello"找到资产,而如果我们在单词"hello"之后删除逗号则不会出现问题.

是否有任何FilterFactory假设剥离标点符号?有任何想法吗?

谢谢,波格丹.

indexing solr punctuation filterfactory

5
推荐指数
2
解决办法
4969
查看次数

如何删除所有前导和尾随标点符号?

我想删除字符串中的所有前导和尾随标点符号.我怎样才能做到这一点?

基本上,我想在单词之间保留标点符号,我需要删除所有前导和尾随标点符号.

  1. .,@,_,&,/,-允许如果由字母或数字环绕
  2. \' 如果前面有字母或数字,则允许

我试过了

Pattern p = Pattern.compile("(^\\p{Punct})|(\\p{Punct}$)");
Matcher m = p.matcher(term);
boolean a = m.find();
if(a)
    term=term.replaceAll("(^\\p{Punct})", "");
Run Code Online (Sandbox Code Playgroud)

但它不起作用!!

java string punctuation

5
推荐指数
2
解决办法
9244
查看次数

Scala mkString除了最后一个

我想在scala中执行以下操作:

val l = List("An apple", "a pear", "a grapefruit", "some bread")
... some one-line simple function ...
"An apple, a pear, a grapefruit and some bread"
Run Code Online (Sandbox Code Playgroud)

用这种方式编写它的最短方法是什么?

到目前为止,我最好的尝试是:

def makeEnumeration(l: List[String]): String = {
  var s = ""
  var size = l.length
  for(i <- 0 until size) {
    if(i > 0) {
      if(i != size - 1) { s += ", "
      } else s += " and "
    }
    s += l(i)
  }
  s
}
Run Code Online (Sandbox Code Playgroud)

但这很麻烦.任何的想法?

scala enumerate punctuation

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

tm自定义removePunctuation除了标签

我有来自twitter的推文语料库.我清理这个语料库(removeWords,tolower,删除URls),最后还想删除标点符号.

这是我的代码:

tweetCorpus <- tm_map(tweetCorpus, removePunctuation, preserve_intra_word_dashes = TRUE)
Run Code Online (Sandbox Code Playgroud)

现在的问题是,通过这样做,我也松开了#标签.有没有办法用tm_map删除标点符号但保留标签?

customization text-processing r punctuation tm

5
推荐指数
2
解决办法
4127
查看次数

Pyspark如何在Rdd中删除标点符号并变成小写字母?

我想删除标点符号并将RDD中的字母变成小写?以下是我的数据集

 l=sc.parallelize(["How are you","Hello\ then% you"\
,"I think he's fine+ COMING"])
Run Code Online (Sandbox Code Playgroud)

我尝试了以下功能,但收到错误消息

punc='!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

def lower_clean_str(x):
    lowercased_str = x.lower()
    clean_str = lowercased_str.translate(punc) 
    return clean_str

one_RDD = l.flatMap(lambda x: lower_clean_str(x).split())
one_RDD.collect()
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误。可能是什么问题?我怎样才能解决这个问题?谢谢。

lowercase punctuation pyspark

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

如何删除python中的标点符号?

我有一个问题:

Ex 我有一句话

s = "AAA? BBB. CCC!" 
Run Code Online (Sandbox Code Playgroud)

所以,我这样做:

import string
table = str.maketrans('', '', string.punctuation)
s = [w.translate(table) for w in s]
Run Code Online (Sandbox Code Playgroud)

没关系。我的新句子将是:

s = "AAA BBB CCC"
Run Code Online (Sandbox Code Playgroud)

但是,如果我输入的句子如下:

s = "AAA? BBB. CCC! DDD.EEE"
Run Code Online (Sandbox Code Playgroud)

删除标点符号后,我将使用与下面相同的方法

s = "AAA BBB CCC DDDEEE"
Run Code Online (Sandbox Code Playgroud)

但需要:

s = "AAA BBB CCC DDD EEE"
Run Code Online (Sandbox Code Playgroud)

有什么想法/方法可以解决这个问题吗?

python string punctuation

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

为什么在“use”行上允许使用前导连字符选项而不使用粗逗号而严格?

为什么下面的use行是合法的 Perl 语法?(改编自父级POD ;在 Cygwin 上的 Perl 5.26.2 x64 上进行测试。)

package MyHash;
use strict;
use Tie::Hash;
use parent -norequire, "Tie::StdHash";
       #   ^^^^^^^^^^ A bareword with nothing to protect it!
Run Code Online (Sandbox Code Playgroud)

在 下-MO=Deparse,该use行变为

use parent ('-norequire', 'Tie::StdHash');
Run Code Online (Sandbox Code Playgroud)

但我无法从use文档中看出 引用的来源-norequire

  • 如果use strict不是强制的话,我会理解的。裸字norequire变成 string "norequire"一元减号将将该字符串变成"-bareword",并且生成的字符串将进入use导入列表。例如:

    package MyHash;
    use Tie::Hash;
    use parent -norequire, "Tie::StdHash";
    
    Run Code Online (Sandbox Code Playgroud)
  • 同样,如果有一个粗逗号,我也会理解。 -foo => bar变成"-foo", …

syntax perl punctuation bareword language-lawyer

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

在法语中的一些标点字符之前的空格:是否有一种CSS方法来避免断行?

例如,在这句话中,"评论声称?",句子中的问号和最后一个单词用空格分隔.

当法语文本写在一列中时,你经常会得到这样的东西:

Elle zigzague倒入empiétersurdes impostures
?杰奎琳门卫的机会.

换行发生在句子的最后一个单词和问号之间,这是不可取的.

Elle zigzague倒入empiétersurdes impostures
?杰奎琳门卫的机会.

有没有办法在纯CSS中解决这个问题?或者我们是否必须手动处理文本并将标点符号和单词包装在不间断的范围内?

css punctuation french

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

剥离标点符号的正则表达式也错误地将Báenou这个词变成了Benou

这个正则表达式的目标是删除标点字符:

var myTxt = "Welcome, Visitor: The Royal Kingdom Of Báenou";
myTxt = myTxt.replace(/[^a-zA-Z0-9 ]+/g, '').replace('/ {2,}/',' ');
alert(myTxt);
Run Code Online (Sandbox Code Playgroud)

所以上面的文字应该变成这样:

Welcome Visitor The Royal Kingdom Of Báenou
Run Code Online (Sandbox Code Playgroud)

但相反,它错误地á放入in Báenou产生这个:

Welcome Visitor The Royal Kingdom Of Benou
Run Code Online (Sandbox Code Playgroud)

我可以对正则表达式做出的最简单的改变是什么让它按预期工作?

javascript regex string sanitization punctuation

4
推荐指数
1
解决办法
5145
查看次数

简洁的标点符号并分成单词python

学习python目前还有一点问题.我试图从另一个子程序中取一条线并将其转换为单独的单词,除了少数几个之外,它们已经被删除了标点符号.该程序的输出应该是它显示的单词和行号.应该是这样的 - >字:[1]

输入文件:

please. let! this3 work.
I: hope. it works
and don't shut up
Run Code Online (Sandbox Code Playgroud)

码:

    def createWordList(line):
        wordList2 =[]
        wordList1 = line.split()
        cleanWord = ""
        for word in wordList1: 
            if word != " ":
                for char in word:
                    if char in '!,.?":;0123456789':
                        char = ""
                    cleanWord += char
                    print(cleanWord," cleaned")
                wordList2.append(cleanWord)
         return wordList2
Run Code Online (Sandbox Code Playgroud)

输出:

anddon't:[3]
anddon'tshut:[3]
anddon'tshutup:[3]
ihope:[2]
ihopeit:[2]
ihopeitworks:[2]
pleaselet:[1]
pleaseletthis3:[1]
pleaseletthis3work:[1]
Run Code Online (Sandbox Code Playgroud)

我不确定这是由什么引起的,但我学会了Ada并在短时间内转换到python.

python strip line cpu-word punctuation

4
推荐指数
2
解决办法
6189
查看次数