问题:如何在分割后保留分隔符?
对中文字符串,用标点符号(如!?:;等)作为分隔符,使用string.split()方法,具体代码如下:
/**********************************************************
* 给段落分句:以句号。、感叹号!、问号?、冒号:、分号;为句子标识符
* @param String paragraph
* @return String[] result
***********************************************************/
public String[] SplitSentence(String paragraph) {
String[] result = null;
result = paragraph.split("。|!|?|:|;");
return result;
}
例如:paragraph="经济实力大幅提升。经济保持平稳快速发展,物价基本稳定。社会主义新农村建设扎实推进,区域发展协调性增强。创新型国家建设进展良好,自主创新能力较大提高。"
希望得到分割后的结果为:
result[0]="经济实力大幅提升。";
result[1]="经济保持平稳快速发展,物价基本稳定。";
result[2]="社会主义新农村建设扎实推进,区域发展协调性增强。";
result[3]="创新型国家建设进展良好,自主创新能力较大提高。";
解答:lhx222 (初级程序员)
/*需要分割的文章*/
String str = "第一句。第二句!第三句:第四句;第五句。";
/*正则表达式:句子结束符*/
String regEx=":|。|!|;";
Pattern p =Pattern.compile(regEx);
Matcher m = p.matcher(str);
/*按照句子结束符分割句子*/
String[] words = p.split(str);
/*将句子结束符连接到相应的句子后*/
if(words.length > 0)
{
int count = 0;
while(count < words.length)
{
if(m.find())
{
words[count] += m.group();
}
count++;
}
}
/*输出结果*/
for(int index = 0; index < words.length; index++)
{
String word = words[index];
System.out.println("word = " + word);
}
分享到:
相关推荐
为了处理更复杂的场景,例如分隔符出现在引号内不应被分割,可以编写自定义的分隔符解析函数。这通常涉及扫描字符串,查找引号并跟踪其出现,然后在适当的位置进行分割。以下是一个简化的例子: ```csharp public ...
在Vue.js中,为了使大数字更易于阅读,通常会使用千位分隔符格式化。这涉及到在数字字符串中插入逗号,以便每三位数字一组进行分隔。在提供的文档中,我们看到一个名为`numberToCurrency.js`的文件,它包含了一个名...
这可能不是预期的行为,因为通常我们期望getline函数在遇到分隔符后停止读取,而不保留分隔符。这会导致输出结果与预期不符,出现多余的字符。 在文件内容中,还提到通过修改getline成员函数的代码来解决这个问题。...
在IT编程领域,对字符串进行处理是常见的需求之一,其中按照特定分隔符来拆分字符串是一种非常实用且频繁使用的技巧。本篇文章将基于提供的代码片段深入探讨如何使用C++来实现这一功能,并且会详细介绍涉及到的相关...
`get_tokens.m`可能是一个实现基本字符串分隔的函数,它可能接受一个字符串和分隔符作为输入,然后返回分隔后的字符串数组。而`get_cell_tokens.m`可能更进一步,处理字符串单元格数组,这在处理包含多种分隔格式的...
- **返回值**:`nvarchar(1024)`,表示按照指定分隔符分割后的第n个子字符串。 #### 2. **变量声明与初始化** - `@location int`:用于记录分隔符出现的位置。 - `@start int`:记录当前子字符串的起始位置。 -...
你可以设置是否保留分隔符,以及处理连续分隔符的方式。 4. **处理结果**:分割后的结果通常是一个数组,你可以遍历这个数组,对每个子串进行进一步的操作,如存储、分析或者输出。 5. **异常处理**:在编写代码时...
另外,`split()`方法会保留分隔符前后的空白字符。如果你不希望这些空白,可以在正则表达式中添加`\b`来匹配边界,或者使用`trim()`方法去除额外的空格。 总的来说,Java中的`split()`方法是处理字符串的强大工具,...
(2)支持自定义输出编码和行分隔符 (3)可按行数/大小分割方式 (4)可将多文件合并 (5)可将多文件合并后分割 (6)中英文语言支持,可修改properties\init下的init.properties切换至中/英文。 需JAVA 1.6以上 直接运行jar...
在这个例子中,非数字字符(`\D`)被用来作为分隔符,所以所有的非数字字符都被去除,只保留了数字。 ### 4. `limit`参数的应用 当设置`limit`参数时,`split()`会限制返回的子字符串数量。例如: ```javascript ...
这段代码首先使用`File.ReadAllText`方法读取整个TXT文件的内容,然后通过`Split`方法,利用"\n\n"作为分隔符,将文本分割成多个段落。`StringSplitOptions.None`参数用于保留空字符串,确保不会丢失任何段落。接着...
在这个例子中,我们使用逗号和分号作为分隔符,`Split()`方法将返回一个字符串数组,其中包含原始字符串按照这些分隔符拆分后的子字符串。 2. 字符串数组作为参数: ```csharp string originalSentence = "I ...
当达到限制后,剩余的部分将被保留在最后一个元素中。 总结,Java中的字符串分割是通过`split()`方法实现的,依赖于正则表达式进行精确的分割。理解正则表达式和`split()`方法的用法对于处理复杂的字符串处理任务至...
2. **按内容分割**:如果文本中有特定的分隔符,如章节标题,你可以设置以这些分隔符作为分割点,将文件按内容划分。 3. **批量处理**:对于多个TXT文件,你也可以一次性进行批量分割,提高工作效率。 4. **保持...
- **保留分隔符**:在默认情况下,`split()`函数会丢弃分隔符,但NanoSplit提供了选项保留这些分隔符,这对于保留原始文本结构至关重要。 - **分隔符群组**:用户可以定义分隔符群组,这意味着一次可以指定多个...
文本文件分割器的工作原理通常是读取源文件,然后按照用户设定的条件(如每N行、每M字节或特定的分隔符)进行分割。分割后的文件通常会保留原始文件的基本结构,只是内容被拆分成多个部分,每个部分都有独立的文件名...
这里,`separator`参数是你想要用来分割字符串的字符数组,而`options`参数则可以控制如何处理连续的分隔符和空的结果。 ### 2. 分隔符 分隔符可以是单个字符,也可以是字符串。例如,你可以使用逗号`,`、空格` `或...
在这个场景中,我们关注的是如何使用POI中的`XWPFDocument`类来有效地替换文本和图片,并解决在分割或替换过程中可能出现的异常,以及保持原有的文档样式不变。 首先,让我们深入了解`XWPFDocument`类。它是Apache ...
在Java编程语言中,`split()` 是一个非常实用的字符串方法,它允许我们将字符串按照指定的分隔符进行拆分。然而,在某些情况下,当分隔符是空格或者制表符(\t),并且字符串末尾有连续的空格或制表符时,`split()` ...
- **正则表达式分隔**:通过正则表达式模式匹配快速识别分隔符并进行分割,支持灵活的分隔条件。 - **基于状态机**:使用确定有限状态机(DFA)跟踪字符串分割的状态,确保分割的准确性和高性能。 - **近似算法**:...