如何判断字体一下这三种字的字体

社会化媒体
了解更多>>
桂ICP备 号
桂公网安备 36号
阅读下一篇
Hi,在你登录以后,就可以永久免费的收藏任何您感兴趣的内容,关注感兴趣的作者!
请输入正确的邮箱
已有帐号请点击
帐号创建成功!
我们刚刚给你发送了一封验证邮件
请在48小时内查收邮件,并按照提示验证邮箱
感谢你对微口网的信任与支持
如果你没有收到邮件,请留意垃圾箱 或 重新发送
你输入的邮箱还未注册
还没有帐号请点击
你输入的邮箱还未注册
又想起来了?
邮件发送成功!
我们刚刚给你发送了一封邮件
请在5分钟内查收邮件,并按照提示重置密码
感谢你对微口网的信任与支持
如果你没有收到邮件,请留意垃圾箱 或 重新发送
对不起,你的帐号尚未验证
如果你没有收到邮件,请留意垃圾箱 或
意见与建议
请留下您的联系方式
* 留下您正确的联系方式,以便工作人员尽快与你取得联系Lua判断字符串前缀是否为指定字符的3种方法
投稿:junjie
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Lua判断字符串前缀是否为指定字符的3种方法,本文还对三种方法分别做了性能测试,需要的朋友可以参考下
在写 lua debugger 的时候,我需要判断一个字符串的前缀是不是 "@" 。
有三个方案:
1.比较直观的是 string.sub(str,1,1) == "@"
2.感觉效率比较高的是 string.byte(str) == 64
3.或者是 string.find(str,"@") == 1
我推荐第三种。(注:在此特定运用环境下。因为用于判定 source 的文件名,大多数情况都是 @ 开头。如果结果为非,则性能较低)
第一方案 string.sub 会在生成子串的时候做一次字符串 hash ,感觉效率会略微低一些。
第二方案效率应该是最好,但是需要记住 @ 的 ascii 码 64 。如果前缀是多个字符也不适用。
性能对比测试:
string.find(sb, "@") == 1&3.671
string.find(sb, "^@") ~= 1&3.735
string.byte(sa) == 64&2.14
string.char(string.byte(sb)) == "@"&4.375
string.sub(sb,1,1) == "@"&2.766
sb[1] == "@"&0.984
要想解决不以@开头时的性能问题,可以改成这样:
string.find(str,"^@") == 1
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具其他回答(4)
遍历一边,然后用类似hash,一样的,记录一下就知道了
收获园豆:5
园豆:9721
如楼上所说,代码如下:
function check(str){
var a = str.split(','),dt={},tmp,i=0,l=a.
for(; i & i++){
tmp = a[i];
if(tmp.length&0){
if(dt[tmp]){
return true;//true代表有重复的
dt[tmp]=1;
return true;//true代表没有重复的
check('sdfsdf,aaa,3sdf,w234,aaa');
收获园豆:10
checkString("aa,bb,cc,dd"); function checkString(str){ var arrStr=str.split(","); var hash = {}; for(var i=0;i&arrStr.length-1;i++){ if(!hash[arrStr[i]]) { hash[arrStr[i]]= } else{ alert("有重复的。"); } } alert("没有重复的!"); }
收获园豆:10
使用正则表达式进行匹配,性能绝对高!
&&&您需要以后才能回答,未注册用户请先。> 判断字符串变量str是否为空的一下三种方法哪个性能更优解决方案
判断字符串变量str是否为空的一下三种方法哪个性能更优解决方案
paganinitu & &
发布时间: & &
浏览:2 & &
回复:5 & &
悬赏:0.0希赛币
判断字符串变量str是否为空的一下三种方法哪个性能更优判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str== & &;b、str==String.Ec、str.Length==0;?
据说答案是C,不太明白,请问为什么啊?
题目的要求判断str是否为空.
当str对象未分配内存,既str=null时,这个字符串也算为空.
str== & &和str=String.Empty都不能检测str=null的情况
paiger & &
13:59:52 & &
& & (0)(0)引用string.IsNullOrEmpty(str)
最优秀,但不一定是最快!
str.Length==0;
虽然快,但是str为null的时候会抛异常的
paidy123 & &
13:59:52 & &
& & (0)(0)引用str.Length==0
1.使用Length来检查一个字符串是否为空。
计算Length时,只需要检查内部数组的长度,不需要字节比较。而字节比较是比直接计算计算要慢很多的
2.在来看看string的一个构造函数
String (Char[], Int32, Int32)
将 String 类的新实例初始化为由 Unicode 字符数组、该数组内的起始字符位置和一个长度指示的值。
即string对象在本身构造时,就已经有一个参数是长度指示,他对外的表现就是Length
3.我们在来看看String.Empty本质,有一定c++和vb基础的都知道,一个字符串都有一个表示结尾的字节,net环境下也是如此,这个结尾的字节就是String.Empty
4.使用str==String.Empty要比str== & &快速因为String.Empty在内部是个常量
a、str== & &;
b、str==String.E
c、str.Length==0;
c优于b,b优于a
paibanxun & &
13:59:52 & &
& & (0)(0)引用using S
public class strLengthTime
public static void Main()
string strTest =
string strS
for (int i = 0; i
& 1000; i++)
strSub = i.ToString();
strTest = strTest + strS
DateTime startT
DateTime endT
TimeSpan timeC
startTime = DateTime.N
for (int m = 0; m
if (strTest.Length == 0)
endTime = DateTime.N
timeCost = endTime - startT
System.Console.WriteLine( &strTest.Length Method Costs: & + timeCost.TotalMilliseconds.ToString());
startTime = DateTime.N
for (int m = 0; m
if (strTest == string.Empty)
endTime = DateTime.N
timeCost = endTime - startT
System.Console.WriteLine( &String.Empty Method Costs: & + timeCost.TotalMilliseconds.ToString());
startTime = DateTime.N
for (int m = 0; m
if (strTest ==
endTime = DateTime.N
timeCost = endTime - startT
System.Console.WriteLine( &The Third Method Costs: & + timeCost.TotalMilliseconds.ToString());
Console.ReadLine();
事实胜于雄辩
pahenmu & &
13:59:52 & &
& & (0)(0)引用1. C# 和 C++ 不一样:不是采用0结尾的。
2. 由于原因1,调用Length属性(get_Length方法)时,应该不会通过遍历每个字符串直至尾部来取得。而估计是读取String的private字段:m_stringLength。
3. CLR对于字符串常量(注意:常量)采用字符串驻留机制(Microsoft.NET.框架程序设计 12.2.4节):即用一个散列表保存字符串常量。
比如代码:
string s1 =
&hello world &;//在散列表中查找“hello world”,结果没找到,就把“hello world”填到了散列表中,并返回引用给s1
string s2 =
&hello world &;//找到了“hello world”,返回它的引用给s2
所以,上面的s1和s2指向同一个字符串而非两个
4. 基于原因3, String类在判断两个相等时,先判断两个字符串是否指向同一个,即这是两个引用(Int32 变量)比较,见下面String类的代码:(op_Equality会调用下面的)
public static bool Equals(string a, string b)
if (a == b)
if ((a != null) && (b != null))paiger & &
13:59:52 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 古埃及三种字体 的文章

 

随机推荐