这是本文档旧的修订版!
下载:Java文本处理基础
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.18</version> </dependency> <dependency> <groupId>org.apache.opennlp</groupId> <artifactId>opennlp-tools</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.22.2</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>8.11.2</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>8.11.2</version> </dependency>
package cn.edu.bjut.textmining.chapter2; import java.util.Arrays; import java.util.List; public class StringBuilderDemo { public static void main(String[] args) { List<String> lines = Arrays.asList("Text", "mining", "with", "Java"); String content = ""; for (String line : lines) { content += line + " "; } System.out.println(content.trim()); StringBuilder buffer = new StringBuilder(); for (String line : lines) { buffer.append(line).append(" "); } String finalContent = buffer.toString().trim(); System.out.println(finalContent); String joinedContent = String.join(" ", lines); System.out.println(joinedContent); } }
package cn.edu.bjut.textmining.chapter2; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo { public static void main(String[] args) { String rawText = "联系人: 李四, 电话: 138-1234-5678, 邮箱: lisi@company.com; " + "联系人: 张三, 电话: 159-0000-1111, 邮箱: zhangsan@university.edu.cn"; extractInfo("手机号", "\\d{3}-\\d{4}-\\d{4}", rawText); extractInfo("邮箱", "[\\w\\.-]+@[\\w\\.-]+\\.[a-zA-Z]{2,}", rawText); } private static void extractInfo(String type, String regex, String content) { System.out.println("--- 提取 " + type + " ---"); Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(content); while (matcher.find()) { System.out.println("找到: " + matcher.group() + " (位置: " + matcher.start() + "-" + matcher.end() + ")"); } } }
评论