java简单实现季节,性别分词处理
淘宝里面,每个宝贝都有一个标题,根据标题来分词,区分出季节和性别,分别写了两个方法,供大家参考。
public int season(String str)
{
String dest = "";
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
Matcher m = p.matcher(str);
dest = m.replaceAll("");
System.out.println(dest);
String ok=null;
for(int i=0;i<dest.length();i++)
{
//System.out.println("i="+i);
if(i>=dest.length()-2)
ok=dest.substring(i);
else
{
ok=dest.substring(i,i+2);
}
//System.out.println(ok);
switch(ok)
{
case "冬日":
flag= 4;
break;
case "夏日":
flag= 2;
break;
case "春季":
if(i>=1&&dest.charAt(i-1)=='秋')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=6;
else
flag= 1;
break;
case "夏季":
if(i>=1&&dest.charAt(i-1)=='春')
flag=6;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=11;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=8;
else
flag= 2;
break;
case "秋季":
if(i>=1&&dest.charAt(i-1)=='春')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=10;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=7;
else
flag= 3;
break;
case "冬季":
if(i>=1&&dest.charAt(i-1)=='春')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=7;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=8;
else
flag= 4;
break;
case "春款":
if(i>=1&&dest.charAt(i-1)=='秋')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=6;
else
flag= 1;
break;
case "夏款":
if(i>=1&&dest.charAt(i-1)=='春')
flag=6;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=11;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=8;
else
flag= 2;
break;
case "秋款":
if(i>=1&&dest.charAt(i-1)=='春')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=10;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=7;
else
flag= 3;
break;
case "冬款":
if(i>=1&&dest.charAt(i-1)=='春')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=7;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=8;
else
flag= 4;
case "春秋":
if(i<=dest.length()-3&&dest.charAt(i+2)=='冬')
{
flag=9;
return 9;
}
else
flag= 5;
break;
case "秋春":
flag= 5;
break;
case "春夏":
if(i<=dest.length()-3&&dest.charAt(i+2)=='秋')
{
flag=11;
return 11;
}
else
flag= 6;
break;
case "夏春":
flag= 6;
break;
case "秋冬":
flag= 7;
break;
case "冬秋":
flag= 7;
break;
case "冬夏":
flag= 8;
break;
case "夏冬":
flag= 8;
break;
case "春冬":
flag= 9;
break;
case "冬春":
flag= 9;
break;
case "夏秋":
flag= 10;
break;
case "秋夏":
flag= 10;
break;
case "春天":
if(i>=1&&dest.charAt(i-1)=='秋')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=6;
else
flag= 1;
break;
case "夏天":
if(i>=1&&dest.charAt(i-1)=='春')
flag=6;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=11;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=8;
else
flag= 2;
break;
case "秋天":
if(i>=1&&dest.charAt(i-1)=='春')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=10;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=7;
else
flag= 3;
break;
case "冬天":
if(i>=1&&dest.charAt(i-1)=='春')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=7;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=8;
else
flag= 4;
break;
case "春装":
if(i>=1&&dest.charAt(i-1)=='秋')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=6;
else
flag= 1;
break;
case "夏装":
if(i>=1&&dest.charAt(i-1)=='春')
flag=6;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=11;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=8;
else
flag= 2;
break;
case "秋装":
if(i>=1&&dest.charAt(i-1)=='春')
flag=5;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=10;
else if(i>=1&&dest.charAt(i-1)=='冬')
flag=7;
else
flag= 3;
break;
case "冬装":
if(i>=1&&dest.charAt(i-1)=='春')
flag=9;
else if(i>=1&&dest.charAt(i-1)=='秋')
flag=7;
else if(i>=1&&dest.charAt(i-1)=='夏')
flag=8;
else
flag= 4;
break;
default:
break;
}
}
System.out.println("flag="+flag);
if(flag==1)
return 1;
else if(flag==2)
return 2;
else if(flag==3)
return 3;
else if(flag==4)
return 4;
else if(flag==5)
return 5;
else if(flag==6)
return 6;
else if(flag==7)
return 7;
else if(flag==8)
return 8;
else if(flag==9)
return 9;
else if(flag==10)
return 10;
else
return 99; }
public int sex(String str)
{
String dest = "";
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
Matcher m = p.matcher(str);
dest = m.replaceAll(""); String ok=null;
boolean b=false;
System.out.println(dest);
for(int i=0;i<dest.length();i++)
{
if(i==dest.length()-1)
ok=dest.substring(i);
else
ok=dest.substring(i,i+1);
switch(ok)
{
case "男":
for(int j=0;j<dest.length();j++)
{
char c=dest.charAt(j);
if(c=='女')
b=true;
}
if(i<=dest.length()-2&&b)
return 3;
else
flag=1;
break;
case "女":
for(int j=0;j<dest.length();j++)
{
char c=dest.charAt(j);
if(c=='男')
b=true;
}
if(i<=dest.length()-2&&b)
return 3;
else
flag=2;
break;
case "高":
if(i<=dest.length()-3&&dest.charAt(i+1)=='富'&&dest.charAt(i+2)=='帅')
flag=1;
if(i<=dest.length()-3&&dest.charAt(i=1)=='帅'&&dest.charAt(i+2)=='富')
flag=1;
break;
case "白":
if(i<=dest.length()-3&&dest.charAt(i+1)=='富'&&dest.charAt(i+2)=='美')
flag=2;
if(i<=dest.length()-3&&dest.charAt(i+1)=='美'&&dest.charAt(i+2)=='富')
flag=2;
break;
case "萝":
if(i<=dest.length()-2&&dest.charAt(i+1)=='莉')
flag=2;
break;
case "罗":
if(i<=dest.length()-2&&dest.charAt(i+1)=='莉')
flag=2;
break;
case "靓":
if(i<=dest.length()-2&&dest.charAt(i+1)=='妹')
flag=2;
break;
case "辣":
if(i<=dest.length()-2&&dest.charAt(i+1)=='妹')
flag=2;
break;
case "正":
if(i<=dest.length()-2&&dest.charAt(i+1)=='太')
flag=1;
break;
case "屌":
if(i<=dest.length()-2&&dest.charAt(i+1)=='丝')
flag=1;
break;
case "闺":
if(i<=dest.length()-2&&dest.charAt(i+1)=='蜜')
flag=2;
break;
case "贵":
if(i<=dest.length()-2&&dest.charAt(i+1)=='妇')
flag=2;
break;
case "美":
if(i<=dest.length()-2&&dest.charAt(i+1)=='妞')
flag=2;
break;
case "帅":
if(i<=dest.length()-2&&dest.charAt(i+1)=='哥')
flag=1;
break;
case "长":
if(i<=dest.length()-2&&dest.charAt(i+1)=='裙')
flag=2;
break;
case "短":
if(i<=dest.length()-2&&dest.charAt(i+1)=='裙')
flag=2;
break;
case "胸":
if(i<=dest.length()-2&&dest.charAt(i+1)=='罩')
flag=2;
break;
case "文":
if(i<=dest.length()-2&&dest.charAt(i+1)=='胸')
flag=2;
break;
case "少":
if(i<=dest.length()-2&&dest.charAt(i+1)=='妇')
flag=2; case "御":
if(i<=dest.length()-2&&dest.charAt(i+1)=='姐')
flag=2;
break;
case "连":
if(i<=dest.length()-3&&dest.charAt(i+1)=='衣'&&dest.charAt(i+2)=='裙')
flag=1;
break; } }
if(flag==1)
return 1;
else if(flag==2)
return 2;
else
return 3; }
纯体力活。。觉得有用的顶一下,谢谢~
java简单实现季节,性别分词处理的更多相关文章
- java简单词法分析器(源码下载)
java简单词法分析器 : http://files.cnblogs.com/files/hujunzheng/%E7%AE%80%E5%8D%95%E8%AF%8D%E6%B3%95%E5%88%8 ...
- !!转!!java 简单工厂模式
举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面.女娲造人,这就是 ...
- JAVA简单Swing图形界面应用演示样例
JAVA简单Swing图形界面应用演示样例 package org.rui.hello; import javax.swing.JFrame; /** * 简单的swing窗体 * @author l ...
- 多元线性回归----Java简单实现
http://www.cnblogs.com/wzm-xu/p/4062266.html 多元线性回归----Java简单实现 学习Andrew N.g的机器学习课程之后的简单实现. 课程地址:h ...
- java简单数据类型转化
java简单数据类型,有低级到高级为:(byte,short,char)→int→long→float→double (boolean不参与运算转化) 转化可以分为 低级到高级的自动转化 高级到低级的 ...
- 和我一起打造个简单搜索之IK分词以及拼音分词
elasticsearch 官方默认的分词插件,对中文分词效果不理想,它是把中文词语分成了一个一个的汉字.所以我们引入 es 插件 es-ik.同时为了提升用户体验,引入 es-pinyin 插件.本 ...
- 预防和避免死锁的方法及银行家算法的java简单实现
预防死锁 (1) 摒弃"请求和保持"条件 基本思想:规定所有进程在开始运行之前,要么获得所需的所有资源,要么一个都不分配给它,直到所需资源全部满足才一次性分配给它. 优点:简单.易 ...
- Java简单聊天室
实现Java简单的聊天室 所用主要知识:多线程+网络编程 效果如下图 /** * * @author Administrator * * 简单的多人聊天系统——重点:同时性,异步性 * 1.客户端:发 ...
- Java简单工厂模式
Java简单工厂模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简 ...
随机推荐
- HTTP错误 404.17
HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 出现这种情况的原因通常是因为先安装了Framework,后 ...
- Ollydbg 中断方法浅探
Ollydbg是一个新的32位的汇编层调试软件.适应于windows98.me.2000.xp和2003操作系统.由于他具有图形窗口界面,所以操作方便.直观,是cracker的好工具. 由于Ollyd ...
- codeforces 390C Inna and Candy Boxes
这个题目看似不是很好下手,不过很容易发现每次询问的时候总是会问到第r个盒子是否有糖果: 这样的话就很好办事了: 维护两个数组: 一个sum数组:累加和: 一个in数组:如果i位是1的话,in[i]=i ...
- UIWebView 与 JS 交互(1):Objective-C 调用 Javascript
众所周知,随着硬件水平的发展,HTML5 与原生 APP 性能差距不断缩小,正在互联网科技领域扮演者越来越重要的角色.作为一种能很大程度上节约成本的技术方案,通过 HTML5 及 JS 实现的跨平台技 ...
- POJ2299+逆序数
归并排序!!!!!!!!!! /* 归并排序+求逆序数 */ #include<stdio.h> #include<string.h> #include<algorith ...
- Cassandra命令行CLI的基本使用
启动cassandra-cli服务之后,可以进行CQL的使用. 1. 创建keyspace 可以理解成关系数据库的database [default@testkeyspace] create keys ...
- JAVA三大框架的各自作用
http://christhb.blog.163.com/blog/static/98982492011727114936239/ 一.Spring Spring是一个解决了许多在J2EE开发中常见的 ...
- Android 动态背景的实现以及SurfaceView中添加EditText控件
首先还是一贯作风,我们先看案例: \ 静态图看不出来效果,如果用过此软件(扎客)的同学们都知道,她的背景会动.怎么样,是不是觉得很时尚,起码比静态的要好(个人观点).其实实现起来并不复杂,这个如果让做 ...
- 【HDOJ】1042 N!
肯定是大叔,本来以为用加法做乘法,后来想想这样麻烦,还是可以使用乘法的,按位乘,ov可以看成不止一位,程序如下所示: #include <stdio.h> #define MAX 4000 ...
- 一类最小割bzoj2127,bzoj2132 bzoj3438
思考一下我们接触的最小割问题 最小割的基本问题(可能会和图论的知识相结合,比如bzoj1266,bzoj1797) 最大权闭合图(bzoj1497) 最大点权覆盖集,最大点权独立集(bzoj1324) ...