A. java里面如何截取两个关键字中间的字符串
1.split()+正则表达式来进行截取。
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。
String str = "abc,12,3yy98,0";String[] strs=str.split(",");for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString());}
运行结果:
abc
12
3yy98
0
2.通过subString()方法来进行字符串截取。
subString通过不同的参数来提供不同的截取方式
2.1只传一个参数
例如:
String sb = "bbbdsajjds";
sb.substring(2);
将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);
2.2传入2个索引值
String sb = "bbbdsajjds";
sb.substring(2, 4);
从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符);
运行结果如下:
bdsajjds
bd
3.通过StringUtils提供的方法
StringUtils.substringBefore(“dskeabcee”, “e”);
/结果是:dsk/
这里是以第一个”e”,为标准。
StringUtils.substringBeforeLast(“dskeabcee”, “e”)
结果为:dskeabce
B. 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();
}
}
C. java word中提取关键字
首先,要用Java的File类中函数(如open,read等,记不清了)打开word文档,利用形式语言与自动机的原理,跳过word文档的头部,分析内容,利用String中的equals()方法匹配"java"字符串。
D. 如何用java实现文本的关键字提取
可以使用java API中的URL抓取流,也可以使用Apache的HttpClient等多种方法,最终得到的就是字符串咯,得到字符串就好办了,使用正则匹配,将匹配的保存起来就可以了
E. 提取Java关键字
我写了个Keywords.java类,代码如下:
*************************************************************
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.FlowLayout;
importjava.awt.GridLayout;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.IOException;
importjava.util.StringTokenizer;
importjavax.swing.BorderFactory;
importjavax.swing.JButton;
importjavax.swing.JFileChooser;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.UIManager;
{
String[]keywords={"abstract","boolean","break","byte","case",
"catch","char","class","continue","default","do","double",
"else","extends","false","final","finally","float","for",
"if","implements","import","instanceof","int","interface",
"long","native","new","null","package","private","protected",
"public","return","short","static","super","switch",
"synchronized","this","throw","throws","transient","true",
"try","void","volatile","while","const","goto"};
JTextAreatext;
JTextArearesult;
publicKeywords(){
this.setTitle("计算关键字数");
//文本框
text=newJTextArea(6,50);
text.setLineWrap(true);
JScrollPanetextScroll=newJScrollPane(text);
text.setBorder(BorderFactory.createBevelBorder(1));
JPaneltextPanel=newJPanel(newBorderLayout());
textPanel.setBorder(BorderFactory.createTitledBorder("导入的文本"));
textPanel.add(textScroll);
//结果框
result=newJTextArea(6,50);
result.setLineWrap(true);
JScrollPaneresultScroll=newJScrollPane(result);
result.setBorder(BorderFactory.createBevelBorder(1));
JPanelresultPanel=newJPanel(newBorderLayout());
resultPanel.setBorder(BorderFactory.createTitledBorder("计算结果"));
resultPanel.add(resultScroll);
//导入文本和结果框
JPanelallPanel=newJPanel();
allPanel.setLayout(newGridLayout(2,1));
allPanel.add(textPanel);
allPanel.add(resultPanel);
//按钮
JButtonimpButton=newJButton("导入文本");
JButtoncalcButton=newJButton("计算关键字数");
JPanelbuttonPanel=newJPanel(newFlowLayout());
buttonPanel.add(impButton);
buttonPanel.add(calcButton);
//添加
this.add(allPanel,BorderLayout.CENTER);
this.add(buttonPanel,BorderLayout.SOUTH);
//this.setSize(400,300);
this.pack();
Toolkittool=Toolkit.getDefaultToolkit();
Dimensionscreen=tool.getScreenSize();
this.setLocation(screen.width/2-this.getWidth()/2,screen.height
/2-this.getHeight()/2);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//导入文本
impButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
writeText();
}
});
//计算关键字数
calcButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//for(Stringss:s){
//System.out.println(ss);
//}
String[]start=text.getText().trim().split(" ");
System.out.println("start:"+start.length);
//String[]rets=newString[start.length];
StringBufferret=newStringBuffer();
for(inti=0;i<start.length;i++){
StringTokenizerst=newStringTokenizer(start[i]);
intn=0;
while(st.hasMoreTokens()){
Stringcomp=st.nextToken();
for(Strings:keywords){
if(s.equals(comp)){
n++;
if(n==1){
ret.append(i+":");
ret.append(s);
}else{
ret.append(","+s);
}
}
}
}
if(n!=0){
ret.append(" ");
}
}
result.setText(ret.toString().trim());
}
});
}
//导入文本
publicvoidwriteText(){
try{
JFileChooserchooser=newJFileChooser();
chooser.showOpenDialog(this);
Filefile=chooser.getSelectedFile();
BufferedReaderbr=newBufferedReader(newFileReader(file));
Strings;
text.setText("");
while((s=br.readLine())!=null){
text.append(s+" ");
}
text.setText(text.getText().trim());
System.out.println(text.getText());
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione2){
e2.printStackTrace();
}
}
publicstaticvoidmain(String[]args)throwsException{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
newKeywords();
}
}
*************************************************************
运行结果如下:
F. java word中提取关键字
给个思路吧。
读取word用doc4j,然后就是读成字符串进行处理了。
提取关键字首先是中文分词技术,就是把一段话划分成多个组成的词语,然后统计词语的出现次数,这个是主要依据。这个是有实现的jar包的,可以去搜,搜java 中文分词就行。
分词之后,记录词语出现位置,这个是辅助的依据,记录词语一句话中的位置,越靠前越像关键字,权重越高。
甚至可能需要建立一个权重体系,次数设置一个权重,整体位置设置一个权重,不同位置权重也不同。不了解权重可以理解成系数(百分比的,然后计算那个词是关键词)。
同时需要注意,可能需要排除一些常用词,哪些次需要排除,这个需要根据程序反复运行,读取不同word文章的结果来定。
不明白的话在问吧。
G. java编程 求一个能够从TXT文本中提取中文关键字并输出的程序
以下这个程序就是 获取到.txt中的中文,然后在控制台中输出
希望这个能帮到你啊,望采纳啊
package cn.ima_21;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo {
public static void main(String[] args) throws IOException {
// 创建对象
FileReader fr = new FileReader("a.txt");
//开发一般如下写
int num = 0;
while((num=fr.read())!=-1){
System.out.print((char)num);
}
//释放资源
fr.close();
}
}
H. 请大家帮帮忙. 使用java爬虫得到网页以后怎么提取里面自己需要的内容呢如果会代码请您写一下.谢谢您
你自己写个方法 取自己需要的内容
I. java全部关键字及其每个用法怎么解释
java关键字 1.break和continuex0dx0a break和continue是两个java关键字,在一个循环中,比如50次的循环语句中,如果在某次循环中执行了break语句,那么整个循环语句就结束。x0dx0a 如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入进行下一次循环。x0dx0a2.static关键字x0dx0a (1)用static修饰的变量是类变量,否则是实例变量,类变量被所有对象共享,即所有对象的这个类变量都分配给同一处内存,改变其中一个对象的这个类变量就会改变其他对象的这个类变量。x0dx0a (2)java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实例成员变量不会被分配内存。但是类中的类变量被加载到内存时,就分配了相应的内存空间。如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内存空间,而内变量不再分配内存空间,即所有对象的类变量是相同的。x0dx0a (3)当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,也就是说方法的入口地址被所有对象共享,当所有对象都不存在时,方法的入口地址才被取消。x0dx0a3.this关键字x0dx0a (1) this是java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但是不可以出现在类方法中(因为非静态的变量或方法不能在静态的方法中被调用),this关键字出现在构造方法中时,代表使用该构造方法所创建的对象。实例方法必须通过对象来调用,当this关键字出现在类的实例方法中时,代表正在调用方法的当前对象。x0dx0a (2)实例方法可以操纵成员变量,当实例成员变量在实例方法中出现时,默认的格式是this.成员变量x0dx0a4.final关键字x0dx0a final关键字可以修饰类、成员变量和方法中的参数。x0dx0a final类不能继承。x0dx0a final方法不能被重写,但可以被继承。x0dx0a final成员变量必须赋初值,且不能改变。x0dx0a final参数的值不能改变。x0dx0a5.abstract关键字x0dx0a abstract关键字可以修饰类、变量、方法。x0dx0a abstract类可以有abstract方法。对于abstract方法,只允许声明,不允许实现,而且不能使用final修饰abstract方法(因为final方法不能被重写)。x0dx0a 对于abstract类,不能使用new运算符创建该类的对象,需产生其子类,由子类创建对象,如果一个类是abstract类的子类,那么它必须实现父类的abstract方法 x0dx0a6.super关键字x0dx0a (1)子类不能继承父类的构造方法,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来调用,且super必须在子类构造方法的第一条语句。x0dx0a (2)如果类里面定义了一个或多个构造方法,那么java不提供默认的构造方法(不带参数的构造方法),因此,当在父类中定义了多个构造方法时,应该包括一个不带参数的构造方法,以防子类省略super时出现错误。