java数据库关键字抽取,文本关键词抽取

本文目录一览:

JAVA语言的关键字提取问题

能力有限用个最笨的办法了

public String matchName(String filePath){

    BufferedReader reader = new BufferedReader(new FileReader(filePath));

        // 读取文本

        StringBuffer sb = new StringBuffer();

        String str;

        while (null!=(str = reader.readLine())) {

            sb.append(str);

            sb.append(“\r\n”);

        }

        

        String rex = “项目名称”;    

        

        String totalStr = sb.toString();

        // 获取rex第一次出现的位置

        int first = totalStr.indexOf(rex);

        // 从该位置截取30长度的字符串

        String result = totalStr.substring(first, first+30);

        

        // 返回第一行

        return result.split(“\r\n”)[0];

}

200分跪求JAVA高手帮做个提取关键字的程序

//直接粘贴就行。

import java.awt.BorderLayout;

import java.awt.EventQueue;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.Scanner;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JSplitPane;

import javax.swing.JTextArea;

import javax.swing.border.EtchedBorder;

import javax.swing.filechooser.FileFilter;

public class Application2 extends JFrame implements Cloneable{

public Application2(){

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setSize(800,700);

this.setLayout(new BorderLayout());

keyWords1=new String[]{“那么”,”还是”,”sdf”};

keyWords2=new String[]{“所以”,”而且”,};

input=new JTextArea();

JPanel ip=new JPanel();

ip.setLayout(new BorderLayout());

ip.add(input,BorderLayout.CENTER);

ip.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), “输入文本”));

output1=new JTextArea();

JPanel o1p=new JPanel();

o1p.setLayout(new BorderLayout());

o1p.add(output1,BorderLayout.CENTER);

o1p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), “以下为”));

output2=new JTextArea();

JPanel o2p=new JPanel();

o2p.setLayout(new BorderLayout());

o2p.add(output2,BorderLayout.CENTER);

o2p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), “以下为”));

JSplitPane split1=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,o1p,o2p);

split1.setDividerLocation(350);

JSplitPane split2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,ip,split1);

split2.setDividerLocation(300);

this.add(split2,BorderLayout.CENTER);

open=new JButton(“导入”);

open.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

JFileChooser chooser=new JFileChooser(“.”);

chooser.setMultiSelectionEnabled(false);

chooser.addChoosableFileFilter(new FileFilter(){

@Override

public boolean accept(File file) {

if(file.isDirectory())

return true;

int length=file.getName().length();

if(length5)

return false;

if(file.getName().substring(length-4).equals(“.txt”))

return true;

return false;

}

@Override

public String getDescription() {

return “文本文件”;

}

});

chooser.showOpenDialog(Application2.this);

File file=chooser.getSelectedFile();

if(file==null)

return;

try {

Scanner sc=new Scanner(file);

String text=””;

while(sc.hasNextLine())

text+=sc.nextLine()+”\n”;

input.setText(text);

String[] array=getSentences();

output1.setText(getKeySentences(keyWords1,array));

output2.setText(getKeySentences(keyWords2,array));

}catch (IOException e1) {

e1.printStackTrace();

}

}

});

save=new JButton(“导出”);

save.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

JFileChooser chooser=new JFileChooser(“.”);

chooser.setMultiSelectionEnabled(false);

chooser.addChoosableFileFilter(new FileFilter(){

@Override

public boolean accept(File file) {

if(file.isDirectory())

return true;

int length=file.getName().length();

if(length5)

return false;

if(file.getName().substring(length-4).equals(“.txt”))

return true;

return false;

}

@Override

public String getDescription() {

return “文本文件”;

}

});

chooser.showSaveDialog(Application2.this);

File file=chooser.getSelectedFile();

if(file==null)

return;

try {

PrintWriter pw=new PrintWriter(file);

pw.print(output1.getText());

pw.flush();

pw.print(output2.getText());

pw.flush();

}catch (IOException e1) {

e1.printStackTrace();

}

}

});

JPanel buttonPane=new JPanel();

buttonPane.add(open);

buttonPane.add(save);

this.add(buttonPane,BorderLayout.SOUTH);

}

public String[] getSentences(){

ArrayListString set=new ArrayListString();

int length=input.getText().length();

for(int i=0,last=0;ilength;i++){

String s=String.valueOf(input.getText().charAt(i));

if(s.equals(“\n”))

last=i+1;

if(s.equals(“.”)||s.equals(“,”)||s.equals(“。”)||s.equals(“。”)||s.equals(“!”)||s.equals(“?”)||s.equals(“?”)||s.equals(“!”)||s.equals(“,”)){

set.add(input.getText().substring(last,i)+s);

last=i+1;

}

}

return set.StringtoArray(new String[set.size()]);

}

public String getKeySentences(String[] key,String[] sentences){

String result=””;

A: for(int i=0;isentences.length;i++){

for (int k = 0; k key.length; k++)

if (sentences[i].contains(key[k].subSequence(0, key[k].length()))) {

result += sentences[i] + “\n”;

continue A;

}

}

return result;

}

private JTextArea input;

private JTextArea output1;

private JTextArea output2;

private JButton open;

private JButton save;

private String[] keyWords1;

private String[] keyWords2;

public static void main(String… args){

EventQueue.invokeLater(new Runnable(){

public void run(){

new Application2().setVisible(true);

}

});

}

}

java 如何在一篇文章中取出某个关键字

这个方法是取出了含有keyword的那一行,你要去关键字,只要返回true,直接取就O了!!忘楼主采纳!

public void selectKeyWord(String keyWord){

String filepath = “”;

try {

DataInputStream dis = new DataInputStream(new FileInputStream(filepath));

while(dis.read()!=-1){

String str = dis.readUTF();

if(str.contains(keyWord)){

System.out.println(str);

}

}

} catch (FileNotFoundException e) {

System.out.println(“文件不存在”);

System.exit(0);

} catch (IOException e) {

e.printStackTrace();

}

}

java 如何对某个数据库中所有数据进行关键词搜索并统计搜索所得结果的总数

select count(*) from tablename where 列 like ‘关键字1’ or 列 like ‘关键字2’;

意思就是查询 tablename 表中的 列 内容包括 关键字1 或者包涵 关键字2 的 一共有多少数据。。 count 是查询 受影响的 行数。 数据库关键字。

java word中提取关键字

给个思路吧。

读取word用doc4j,然后就是读成字符串进行处理了。

提取关键字首先是中文分词技术,就是把一段话划分成多个组成的词语,然后统计词语的出现次数,这个是主要依据。这个是有实现的jar包的,可以去baidu搜,搜java 中文分词就行。

分词之后,记录词语出现位置,这个是辅助的依据,记录词语一句话中的位置,越靠前越像关键字,权重越高。

甚至可能需要建立一个权重体系,次数设置一个权重,整体位置设置一个权重,不同位置权重也不同。不了解权重可以理解成系数(百分比的,然后计算那个词是关键词)。

同时需要注意,可能需要排除一些常用词,哪些次需要排除,这个需要根据程序反复运行,读取不同word文章的结果来定。

不明白的话在问吧。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-30 09:06
下一篇 2024-11-30 09:06

相关推荐

  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • 如何查看Python关键字

    Python是一种高级编程语言,具有很多有用的特性和优势。在Python中,关键字被用于标识特定的语法结构。如果您正在学习Python编程,了解Python的关键字是非常重要的。在…

    编程 2025-04-29
  • Python文本居中设置

    在Python编程中,有时需要将文本进行居中设置,这个过程需要用到字符串的相关函数。本文将从多个方面对Python文本居中设置作详细阐述,帮助读者在实际编程中运用该功能。 一、字符…

    编程 2025-04-28
  • 文本数据挖掘与Python应用PDF

    本文将介绍如何使用Python进行文本数据挖掘,并将着重介绍如何应用PDF文件进行数据挖掘。 一、Python与文本数据挖掘 Python是一种高级编程语言,具有简单易学、代码可读…

    编程 2025-04-28
  • leveldb和unqlite:两个高性能的数据库存储引擎

    本文将介绍两款高性能的数据库存储引擎:leveldb和unqlite,并从多个方面对它们进行详细的阐述。 一、leveldb:轻量级的键值存储引擎 1、leveldb概述: lev…

    编程 2025-04-28
  • Python怎么导入数据库

    Python是一种高级编程语言。它具有简单、易读的语法和广泛的库,让它成为一个灵活和强大的工具。Python的数据库连接类型可以多种多样,其中包括MySQL、Oracle、Post…

    编程 2025-04-28
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28
  • Navicat导出字段识别为文本而不是数值

    解决方法:使用特定的代码将导出的字段识别为文本,而不是数值,下面将从多个方面进行详细阐述。 一、ASCII码转换 在导出的文件中,将数值字段使用ASCII码转换,即可让这些字段被识…

    编程 2025-04-28

发表回复

登录后才能评论