查看: 1658|回复: 3

[已经过期] 请问怎么判断一个字符串是文字还是非文字

[复制链接]

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2012-1-11 10:50:48 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
比如一个字符窜是
"伤害为A的12.5%,"
这个字符第4、6、7、8、9、10个字符都不是文字或标点符号。
我想让它是文字或标点符号时return true,不是文字或标点符号(可以是英文、数字或数学符号比如:小数点、%等)就retrun false。
现在我要分别判断字符"伤"、"A"、"5"的类型,请问这样的判断语句是怎样写的?
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
梦石
0
星屑
50
在线时间
45 小时
注册时间
2008-3-2
回帖
94
发表于 2012-1-11 11:02:42 | 显示全部楼层
这个是干什么用的呢?没弄明白~

点评

详尽帮助是指Window_Help类么?  发表于 2012-1-11 13:42
100 1 0 0  发表于 2012-1-11 13:22
"详尽帮助"脚本中所有文字都按全角显示,我希望英文和数字按半角显示,所以要加以判断。我不希望"100"显示成"1 0 0"。  发表于 2012-1-11 13:21
魔幻大航海II:伟大航路 制作中....
●剧情:■□□□□□□□□□10%
◎美工:■■■■■■■■■□90%
●音效:■■■■■■■■■□90%
◎脚本:■■■■■■■□□□70%
●枫野别墅:http://xiaomu2100.blog.163.com
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
回复

使用道具 举报

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

 楼主| 发表于 2012-1-12 13:52:41 | 显示全部楼层
自定义函数自己解决了,还是得靠自己。
  1.   #------------------------------------------------------------------------
  2.   # ● 文字数字判定
  3.   #------------------------------------------------------------------------
  4.   def words_judge(word)
  5.     case word
  6.     when "0","1","2","3","4","5","6","7","8","9","%"
  7.       return false
  8.     end
  9.     return true
  10.   end  
复制代码
调用函数:
  1.   if words_judge(text) == true
  2.     x+=1
  3.   else
  4.     x+=0.5
  5.   end
复制代码

点评

哈哈,在这里刷经验,P叔肯定不知道,诶,咋到P叔的帖了= =  发表于 2013-3-3 18:00
哈哈,在这里刷经验,P叔肯定不知道,诶,咋到P叔的帖了= =  发表于 2013-3-3 18:00
我学乖了,因为有一次我在写 if @window.visible 时不被系统认可,非要写成 if @window.visible==true才被认可了。  发表于 2012-1-12 13:58
调用函数的第一行后面的==true可以删掉。  发表于 2012-1-12 13:55
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45748
在线时间
7953 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2012-1-12 14:01:57 | 显示全部楼层
protosssonny 发表于 2012-1-12 13:52
自定义函数自己解决了,还是得靠自己。调用函数:
  1. def judge(word)
  2.   return word[/\d+|%/] ? true : false
  3. end
复制代码
就算你那样写得话
  1. def judge(word)
  2.   return word.to_i-10<0||word=="%" ? true : false
  3. end
复制代码
另外,判断是否为真时,true可以省略
  1. x+= judge(word) ? 1 : 0.5
复制代码

点评

对不起,我刚才测试了一下"A".to_i和“我”.to_i。运行结果都是0。于是非数字.to_i会得到0的结果。所以您的word.to_i-10<0就不能判断了。  发表于 2012-1-12 14:41
符号优先级高一些  发表于 2012-1-12 14:21
还有,我的脚本里面决不出现||、&&和!=,我一定是用or、and和not的。我也不知道为什么。也许是要保持风格。  发表于 2012-1-12 14:18
看来以后我要多想到“……?……:……”。我忽略这个语法了。  发表于 2012-1-12 14:16
早说嘛。我都关闭了。昨天发的帖子一直没人回,我只好自己想办法了。  发表于 2012-1-12 14:11

评分

参与人数 2星屑 +80 收起 理由
feizhaodan + 56 凑整
怪蜀黍 + 24 糖果给您。

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部