草庐IT

php - 如何将一个句子拆分成单词和标点符号?

比如我要拆分这句话:Iamasentence.进入一个有5个部分的数组;我、是、a、句子和.。我目前在尝试explode后使用preg_split,但我似乎找不到合适的东西。这是我试过的:$sentence=explode("",$sentence);/*returnsarray(4){[0]=>string(1)"I"[1]=>string(2)"am"[2]=>string(1)"a"[3]=>string(8)"sentence."}*/还有这个:$sentence=preg_split("/[.?!\s]/",$sentence);/*returnsarray(5){[0]=>

PHP标点符号混淆

在脚本中写入文件时,我很难直接获取PHP.和"。我是新手,所以看起来很困惑。这本书是这样做的:$outputstring=$date."\t".$tireqty."tires\t".$oilqty."oil\t".$sparkqty."sparkplugs\t\$".$totalamount."\t".$address."\n";问题是句号和引号的适当位置是什么。由于它们是如何混合在一起的,我不知道它们需要附加到什么上。每个变量是否需要是".$VARIABLE."还是它们用于\t"之类的选项卡。我想重新排列它,所以有一段字符串,接着是一个变量,然后是一个新行。我认为它应该是这样的:$o

php - 正则表达式 - 根据标点符号/空格将字符串拆分为数组

我需要一种方法根据标点符号或空格的存在将字符串分成几个不同的部分。我的意思是,每个单词都应该被拆分到它自己的数组元素中,此外,单词开头或结尾的标点符号也应该放入它自己的数组元素中数组元素。例如:我需要能够转换字符串Hello,HarryPotter。我是汤姆·里德尔。进入array("Hello",",""Harry","Potter"".","I'm","Tom","Riddle",".")因此单词中间的标点符号(例如单词中间的撇号)不应导致分隔**编辑:**为了阐明所需的行为,I'm、didn't等应该保持一个词,但是你好!,"okay,等开头或结尾的标点符号要分开。此外,我希望包

java - 如何拆分字符串,包括标点符号?

我需要拆分一个字符串(在Java中),标点符号存储在与单词相同的数组中:Stringsentence="Intheprecedingexamples,classesderivedfrom...";String[]split=sentence.split("");我需要拆分数组为:split[0]-"In"split[1]-"the"split[2]-"preceding"split[3]-"examples"split[4]-","split[5]-"classes"split[6]-"derived"split[7]-"from"split[8]-"..."有什么优雅的解决方案吗?

java - 从单词中删除开头的标点符号

我在这里看到了一些与我在这里提出的问题相符的话题。但没有一个是具体的。如果我有一个像"NewDelhi"这样的字符串,我希望我的代码提取NewDelhi。所以这里的引号被去掉了。我想去掉任何标点符号,一般在开头和结尾。到目前为止,这有助于去除末尾的标点符号:StringreplacedString=replaceable_string.replaceAll("\\p{Punct}*([a-z]+)\\p{Punct}*","$1");我在这里做错了什么?我的输出是"NewDelhi,开头的引号仍然存在。 最佳答案 以下内容将从Str

java - 从 Java 中的字符串中有效地删除特定字符(一些标点符号)?

在Java中,从字符串中删除给定字符的最有效方法是什么?目前,我有这段代码:privatestaticStringprocessWord(Stringx){Stringtmp;tmp=x.toLowerCase();tmp=tmp.replace(",","");tmp=tmp.replace(".","");tmp=tmp.replace(";","");tmp=tmp.replace("!","");tmp=tmp.replace("?","");tmp=tmp.replace("(","");tmp=tmp.replace(")","");tmp=tmp.replace("{",

java - 某些标点字符与启用的 Pattern.UNICODE_CHARACTER_CLASS 标志不匹配

当启用Pattern.UNICODE_CHARACTER_CLASS标志时,我在匹配一些标点字符时遇到问题。示例代码如下:finalPatternp=Pattern.compile("\\p{Punct}",Pattern.UNICODE_CHARACTER_CLASS);finalMatchermatcher=p.matcher("+");System.out.println(matcher.find());输出是错误的,尽管文档中明确指出p{Punct}包含诸如!"#$%&'()*+,-./:;?@[]^_之类的字符`{|}~除了'+'符号,后面的字符也会出现同样的问题$+^`|~

java - 如何根据标点符号和空格拆分字符串?

我有一个String,我想根据标点符号和空格对其进行拆分。split()方法的正则表达式参数应该是什么? 最佳答案 代码中加入了一些奇怪的处理:(请注意,它会跳过输出循环中的空标记。这既快又脏。)您可以将需要拆分和删除的任何字符添加到正则表达式模式中。(tchrist是对的。\s的实现很糟糕,只在一些非常简单的情况下有效。)publicclassSomeClass{publicstaticvoidmain(Stringargs[]){Stringinput="The\rquick!brown-fox\t\tjumped?over;t

字符串中的反向单词,除了标点符号

给定string"hellothere,compiler."一个人怎么样扭转每个单词,除了标点符号。因此,完成后将打印出来:"ollehereht,relipmoc."代替"olleh,ereht.relipmoc"我的代码(那忽略标点符号):staticstringReverseString(strings){StringBuildersb=newStringBuilder();string[]words=s.Split('');foreach(varwordinwords){for(inti=word.Length-1;i>=0;i--){sb.Append(word[i]);}sb.Ap

c++ - 如何从CGAL中的Edge_iterator获取源点和目标点

我对某些点进行了Delaunay三角剖分,并希望按长度升序迭代其中的所有边,以构建最小跨度线程。我试过以下方法,但无法编译:typedefCGAL::Exact_predicates_inexact_constructions_kernelK;typedefCGAL::Delaunay_triangulation_2T;typedefK::Point_2P;typedefT::Vertex_handleVh;typedefT::Vertex_iteratorVi;typedefT::Edge_iteratorEi;boolsortFunction(Eia,Eib){K::FTla,lb