用java提取字符穿里面的英文单词

OBoyReal 2017-12-22 04:15:59
String str = "It's a good 你好song 'Hello'."
想要实现的功能是提取出一个英文单词,然后it's这种带有单引号的单词需要被整体提取出来。但是后面的'Hello'这种在单引号里面的单词 不用把单引号提取出来。想问问这个怎么写?今天面试遇到了这个问题,特别是It's这样带单引号的英文单词 怎么样才能被提取出来?然后规定不能用split()这个方法
...全文
706 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_邪 2017-12-22
  • 打赏
  • 举报
回复 2
引用 2楼Mr_邪 的回复:
借用楼上的正则给你写了个程序,希望能帮到你。如果给分的话别忘了楼上的哥们儿啊……

package demo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

class StrTest {
	public static void main(String[] argvs) {
		String line = "It's a good 你好song 'Hello'.";

		String pattern = "[a-zA-Z]+('?[a-zA-Z])?";

		Pattern r = Pattern.compile(pattern);
		Matcher m = r.matcher(line);

		while(m.find()) {
			System.out.println(m.group());
		}
	}
}
差几分钟…一分都木有啊( ̄ー ̄)
Mr_邪 2017-12-22
  • 打赏
  • 举报
回复
借用楼上的正则给你写了个程序,希望能帮到你。如果给分的话别忘了楼上的哥们儿啊……

package demo;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

class StrTest {
	public static void main(String[] argvs) {
		String line = "It's a good 你好song 'Hello'.";

		String pattern = "[a-zA-Z]+('?[a-zA-Z])?";

		Pattern r = Pattern.compile(pattern);
		Matcher m = r.matcher(line);

		while(m.find()) {
			System.out.println(m.group());
		}
	}
}
Braska 2017-12-22
  • 打赏
  • 举报
回复
[a-zA-Z]+('?[a-zA-Z])?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧