如何最有效率的确定一个字符串是否包含某特定的字符?(50分)

  • 主题发起人 主题发起人 qiuqiu133
  • 开始时间 开始时间
Q

qiuqiu133

Unregistered / Unconfirmed
GUEST, unregistred user!
做短信收发系统时,对于接收到的一新短信,在决定是否自动回复时,是通过查找新短信中是否包含了特定的字符串。特定字符串保存在数据库中。由于特定字符串有好几百个。如何能最有效率的确定新短信中包含了特定字符串?
 
方法一:
1。把特定字符按出现频率从高到低排序
2。先循环一遍短信内容,把所有出现过的字符按ASCII码从低到高排序,以及记录他们字符出现的位置
3。循环特定字符列表,用2分法将特定字符的首字符在排序后的字符中查找,找到后定位到字符串读取特定字符长度的字符判断

方法2:
1。将特定字符串按首字符排序
2。循环短信内容,取出所有出现过的字符,记录其位置后,循环字符用2分法查找特定字符串列表,如果有匹配的则如方法3读取特定字符串长度字符判断

至于哪个快......我觉得第一个应该在实际效果中好一些,因为先按照了字符出现频率排序,所以实际循环量不大
而大量零散数据2个差不多
 
大家没有别的意见了吗?
 
在一个字符串中(全中文),怎么样可以把词语分离出来?
 
可以用模式匹配算法查找
 
用鞭子抽它~~
呵呵。
用正则法试试。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
后退
顶部