小程序-复制就好,处理英文文章,获取单词的词频等

功能:为了获取单词的词频和单词清单

程序里边的系统内:网上找了个超级简洁的语义库(不包括音标),暂时不公开了,有点大;主要作用是背单词的

比如给定一篇文章,比如新2022年二十大英文报告,去分析一下这个报告词频,然后整理出单词清单,搞出一个类似单词+意思(不包括音标)的列表;就这个作用。

把文章选择后点,第一次复制;然后点运行,运行提示ok,

后面就是结果了

// 第一次粘贴是单词清单,没有词频率
// 第二次粘贴是未在库里的单词,需要解释的
// 第三次粘贴是库里的单词1=2+3
// 第四次是有词频的单词总清单

//20221029,获取英文单词频率
  var result =['ok']

  let copyStr=app.data.copyStr
  let inarr=copyStr.split("\r\n")
  let outstr=''
  let word=''
  let str=''
  let wordlist=''//仅仅是单词清单
  let wordnotfind=''//不在库中,要baidu的
  let wordcut=''//去除重复ing ly等形式后的单词清单
  let newarr=[]
  let newarr2=[]
  let newarr4=[]
  let newarr3=[]
  let jsnew={}
  let isre=false
  for(let m=0;m<inarr.length;m++)
  {
  str=inarr[m];
  for(let i=0;i<str.length;i++)
  {
  if(isaz(str.charAt(i))){word=word+str.charAt(i)}
  else{  if(word.trim()!=='')
  {// 如果找不到就是新增词汇
    if(!newarr.includes(word.toLowerCase()))
    {newarr.push(word.toLowerCase());jsnew[word.toLowerCase()]=1;}
   else{jsnew[word.toLowerCase()]=jsnew[word.toLowerCase()]+1}
    }
    word='';}
  if(i==str.length-1)
  {
    if(word.trim()!=='')
    {// 如果找不到就是新增词汇
      if(!newarr.includes(word.toLowerCase()))
      {newarr.push(word.toLowerCase());jsnew[word.toLowerCase()]=1;}
     else{jsnew[word.toLowerCase()]=jsnew[word.toLowerCase()]+1}
    }

      word='';}
  }
  }
// 导出wordlist
  for(let ni=0;ni<newarr.length;ni++)
  {
if(newarr[ni]!=='')
  wordlist=wordlist+newarr[ni]+'\r\n'
  }

  for(let ni=0;ni<newarr.length;ni++)
  {
if(app.findphs(newarr[ni]).w!=='')
{ newarr2.push(app.findphs(newarr[ni]).w)}
else{newarr4.push(newarr[ni])}
  }

  for(let ni=0;ni<newarr2.length;ni++)
  {
     if(!newarr3.includes(newarr2[ni].toLowerCase()))
 { newarr3.push(newarr2[ni])}
  }
  for(let ni=0;ni<newarr3.length;ni++)
  {
if(newarr3[ni]!=='')
  wordcut=wordcut+newarr3[ni]+'\r\n'
  }
 for(let ni=0;ni<newarr4.length;ni++)
  {
if(newarr4[ni]!=='')
  wordnotfind=wordnotfind+newarr4[ni]+'\r\n'
  }
 function isaz(val){ 
  var regPos = /[a-zA-Z]/;  
    if(regPos.test(val)){ 
        return true; 
    }else{ 
        return false; 
    }  
};

let outjnew='';
for (var key in jsnew )
  {
  outjnew=outjnew+key+'\t'+jsnew[key]+'\r\n'
  }
    app.data.outArr=[]
    app.data.outArr.push(wordlist);
    app.data.outArr.push(wordnotfind);
    app.data.outArr.push(wordcut);
  app.data.outArr.push(outjnew);
// 第一次粘贴是单词清单,没有词频率
// 第二次粘贴是未在库里的单词,需要解释的
// 第三次粘贴是库里的单词1=2+3
//  第四次是有词频的单词总清单

app.data.outStr=wordcut;//把数据传递出去剪贴板数据
app.setData({
  result:'ok' 
   });
result;//不要修改,这里就是反馈函数的值给外面
 

 下面这个版本,是增加了是否有音标,只能在本小程序使用

//20221029,获取英文单词频率
//20221031,查看多少不在音标库中
let jph=app.getphlist()//获取js格式的单词音标库
  var result =['ok']

  let copyStr=app.data.copyStr
  let inarr=copyStr.split("\r\n")
  let outstr=''
  let word=''
  let str=''
  let wordlist=''//仅仅是单词清单
  let wordnotfind=''//不在库中,要baidu的
  let wordcut=''//去除重复ing ly等形式后的单词清单
  let newarr=[]
  let newarr2=[]
  let newarr4=[]
  let newarr3=[]
  let jsnew={}
  let isre=false
  for(let m=0;m<inarr.length;m++)
  {
  str=inarr[m];
  for(let i=0;i<str.length;i++)
  {
  if(isaz(str.charAt(i))){word=word+str.charAt(i)}
  else{  if(word.trim()!=='')
  {// 如果找不到就是新增词汇
    if(!newarr.includes(word.toLowerCase()))
    {newarr.push(word.toLowerCase());jsnew[word.toLowerCase()]=1;}
   else{jsnew[word.toLowerCase()]=jsnew[word.toLowerCase()]+1}
    }
    word='';}
  if(i==str.length-1)
  {
    if(word.trim()!=='')
    {// 如果找不到就是新增词汇
      if(!newarr.includes(word.toLowerCase()))
      {newarr.push(word.toLowerCase());jsnew[word.toLowerCase()]=1;}
     else{jsnew[word.toLowerCase()]=jsnew[word.toLowerCase()]+1}
    }

      word='';}
  }
  }
// 导出wordlist
  for(let ni=0;ni<newarr.length;ni++)
  {
if(newarr[ni]!=='')
  wordlist=wordlist+newarr[ni]+'\r\n'
  }

  for(let ni=0;ni<newarr.length;ni++)
  {
if(app.findphs(newarr[ni]).w!=='')
{ newarr2.push(app.findphs(newarr[ni]).w)}
else{newarr4.push(newarr[ni])}
  }

  for(let ni=0;ni<newarr2.length;ni++)
  {
     if(!newarr3.includes(newarr2[ni].toLowerCase()))
 { newarr3.push(newarr2[ni])}
  }
  for(let ni=0;ni<newarr3.length;ni++)
  {
if(newarr3[ni]!=='')
  wordcut=wordcut+newarr3[ni]+'\r\n'
  }
 for(let ni=0;ni<newarr4.length;ni++)
  {
if(newarr4[ni]!=='')
  wordnotfind=wordnotfind+newarr4[ni]+'\r\n'
  }
 function isaz(val){ 
  var regPos = /[a-zA-Z]/;  
    if(regPos.test(val)){ 
        return true; 
    }else{ 
        return false; 
    }  
};

let outjnew='';
let outnoph_list='';
for (var key in jsnew )
  {
  outjnew=outjnew+key+'\t'+jsnew[key]+'\r\n'
if(jph[key]==undefined)
outnoph_list=outnoph_list+key+'+'
  }
    app.data.outArr=[]
    app.data.outArr.push(wordlist);
    app.data.outArr.push(wordnotfind);
    app.data.outArr.push(wordcut);
  app.data.outArr.push(outjnew);
  app.data.outArr.push(outnoph_list);
// 第一次粘贴是单词清单,没有词频率
// 第二次粘贴是未在库里的单词,需要解释的
// 第三次粘贴是库里的单词1=2+3
//  第四次是有词频的单词总清单
//  第5次是不在音标库里的单词清单

app.data.outStr=wordcut;//把数据传递出去剪贴板数据
app.setData({
  result:'ok' 
   });
result;//不要修改,这里就是反馈函数的值给外面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值