在项目的开发中,常常遇到要计算一个字符串的长度(中英文结合),由于产品要求不同,每个中文的长度要求也不一样。

解决utf-8编码下的字符串长度(可自定义每个中英文算几个字节)

/**

* 计算字符串长度

* @author Timothy

* @param null $string 要计算的字符串,默认null

* @param int $chinese 中文占几个字节,默认2

* @param int $other 其他字符算几个字节,默认1

* @return int 返回的长度

*/

private function utf8_strlen($string = null, $chinese = 2, $other = 1) {

// 将字符串分解为单元

preg_match_all("/./us", $string, $match);

$pattern = '/[^\x00-\x80]/';

$count = 0;

foreach ($match[0] as $key => $value) {

$count = preg_match($pattern, $value) ? ($count + $chinese) : ($count + $other);

}

return $count;

}

注:

1、preg_match_all("/./us", $string, $match);//"/./us",u表示默认为utf-8编码,s (PCRE_DOTALL)表示

如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。

2、$pattern = '/[^\x00-\x80]/';//表示匹配中文

[转载] python 计算字符串长度

本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...

php计算字符串长度:utf8编码,包含中文

php计算字符串长度:utf8编码 中文当作1个字符处理(strlen默认当作两个字符) 上函数: /** * 计算 UTF-8 字符串长度 * * @param string $str * @ret ...

ios 计算字符串长度<转>

- (int)textLength:(NSString *)text//计算字符串长度 {     float number = 0.0;     for (int index = 0; index ...

C#计算字符串长度,汉字算两个字符

在C#中的字符串类String中,有个Length属性表示字符串的长度,但该字段返回的是字符的个数,如果字符串中含有中文字符的话,一个汉字占用两个字符的长度,此时获取的长度就不够精确,当然也看具体业务 ...

javascript计算字符串长度

javascript计算字符串长度 学习了:https://blog.csdn.net/u012934325/article/details/75214847 function getByteLen( ...

JS计算字符串长度(兼容后端PHP)

/*** 计算字符串长度* 参数是要计算的字符串* 返回值当前字符串的长度*/function charactersLen (words) { let tempMapWordNum = {} let ...

PHP计算字符串长度,PHP如何计算短信的长度/字数?

PHP计算字符串长度,包括计算英文.GBK.UTF-8多种字符集下PHP如何计算字符串长度. 英文字符串长度,strlen()是PHP自带的计算英文字符串的函数. GBK字符串长度 中文字符计算为2个 ...

PHP计算字符串长度函数

//计算字符串长度 function strlen_utf8($str) { $i = 0; $count = 0; $len = strlen ($str); while ($i < $len ...

随机推荐

Redis 发布订阅

订阅: class Program { //版本2:使用Redis的客户端管理器(对象池) public static IRedisClientsManager redisClientManager ...

WordCount示例深度学习MapReduce过程(1)

我们都安装完Hadoop之后,按照一些案例先要跑一个WourdCount程序,来测试Hadoop安装是否成功.在终端中用命令创建一个文件夹,简单的向两个文件中各写入一段话,然后运行Hadoop,Wou ...

【BZOJ】【3398】【USACO 2009 Feb】Bullcow 牡牛和牝牛

组合计数/乘法逆元 排列组合求总方案数 这个可以用一个一维的动态规划解决: f[i][0]表示第i头牛是牝牛的方案数 f[i][1]表示第i头牛是牡牛的方案数 则转移为:f[i][0]=f[i-1][ ...

数组去重&plus;indexOf&lpar;&rpar;应用

说起数组去重大家都不陌生,去重也有好多种方法,这里介绍很好理解的两种. 第一种 首先说一下第一种的逻辑,就是先拿第一个去跟第二个比,再跟第三个比,再跟第四个比--只要发现有相等的,可以用splice( ...

&lbrack;学习笔记&rsqb;Javascript的包装对象

例子1: var s="test"; s.len = 4; var t = s.len // t is undefined 原因是s是字符串,第二行代码,实际上是创建一个临时字符串 ...

C语言:10个整数排序(别忘了负数)

题目内容: 10个整数排序(别忘了负数) 例如 input 1 0 2 0 3 4 1 9 8 7 output 0 0 1 1 2 3 4 7 8 9 编码: void sort(int *a); ...

信号值大于-75dBm时

dBm是一个表示功率绝对值的值,是以1mw为0dbm,公式dbm=10×lg(毫瓦数/1).所以,为负值 这个值越大,表示信号越好,如-70dbm信号比-90dbm好  信号值大于-75dBm时,说明 ...

1&period;&quot&semi;问吧APP&quot&semi;客户需求调查分析

产品名称:问吧 产品功能:实时提问回答和搜索 开发原因:任何人都会遇到问题,网上虽然有很多回答,但是互联网的信息错综复杂,开发这个APP就是为了让网络求助更加的合理有效,清除网络上的垃圾信息. 为知大 ...

layer父界面调用子弹窗的方法和获取子弹窗的元素值总结

layer.open({ type: 2 ,title: false //不显示标题栏 ,closeBtn: false ,area: ['460px', '45%'] ,shade: 0.5 ,id ...

代码空间项目 -- cookie的基本使用

cookie在日常开发b/s架构时候经常使用,可以在记住用户,方便自动登录,也可以记住用户的偏好并对应推送广告 下面说说开发时候的基本用法: 1.创建cookie//设置cookie,键值对形式Coo ...

php 字符串里面计算,php 计算字符串长度相关推荐

  1. java中计算包含汉字字符串的长度

    java中: 1字符=2字节,1字节=8位 英文和数字占一个字节,中文占一个字符,也就是两个字节 在计算的字符串长度的时候,若有汉字,直接用String.length()方法是没法计算出准确的长度,如 ...

  2. Pandas处理dataframe的文本数据列:使用str属性获取数据列的字符串方法类、split函数基于指定分隔符拆分数据列的内容为列表、使用len计算每个列表的长度

    Pandas处理dataframe的文本数据列:使用str属性获取数据列的字符串方法类.split函数基于指定分隔符拆分数据列的内容为列表.使用len计算每个列表的长度 目录

  3. js函数语法:ASCII 码的相互转换,字符串操作,数学计算

    ASCII 码的相互转换 for (let i = 'a'.charCodeAt(); i <= 'z'.charCodeAt(); i++) {a.push(String.fromCharCo ...

  4. 计算两个字符串之间是否包含的简单方法

    在前面介绍了两个字符串之间的匹配度 的算法 计算字符串相似度算法-Levenshtein 它解决了字符串A和B之间的相识度的问题,但是我现在遇到了一个新的问题,就是有字符串A是固定值,字符串C包括了字 ...

  5. python-levenshtein —— 字符串相似度的计算

    1. 字符串相似度 hamming(str1, str2) 汉明距离:两个等长字符串对应位置上不同字符的个数: distance(str1, str2) 编辑距离:描述一个字符串转成另一个字符串最少的 ...

  6. java数组相似度_Java 计算两个字符串的相似度

    问题 许多程序会大量使用字符串.对于不同的字符串,我们希望能够有办法判断其相似程度.我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为: 1.修改一个字符(如把"a&qu ...

  7. Python计算文件或字符串的MD5/SHA

    本文章讲如何通过Python实现计算文件或字符串的MD5, SHA1, SHA224, SHA256, SHA384, SHA512值. 原文:https://blog.zeruns.tech/arc ...

  8. 字符串中的表达式计算

    字符串中的表达式计算 思路: 如果字符串中没有括号: 每遇到一个字符,把它放进栈里(如果是数字字符,需要结合字符串将其转换成数字).当一个数字进栈之前发现栈顶元素为*或/,则连续弹出两次栈顶,计算该表 ...

  9. c语言中二维数组中维数的计算,数组指针字符串C语言程序设计-第4章.ppt

    <数组指针字符串C语言程序设计-第4章.ppt>由会员分享,可在线阅读,更多相关<数组指针字符串C语言程序设计-第4章.ppt(132页珍藏版)>请在人人文库网上搜索. 1.程 ...

  10. php字符串转换表达式,php处理字符串格式的计算表达式

    有时候我们对每一种产品都有一个提成公式,而这个计算提成的公式是以字符串格式存在表中的 当我们用这个计算公式时,他并不像我们写的:$a=2+3*5;这样简单的能计算出结果,而它是个字符串 所以,我们就必 ...

最新文章

  1. aspnet_Applications表结构
  2. 事物的级别_面试官问:MySQL锁与事物隔离级别你知道吗?
  3. [网络安全提高篇] 一〇九.津门杯CTF的Web Write-Up万字详解(SSRF、文件上传、SQL注入、代码审计、中国蚁剑)
  4. Scala入门到精通——第九节 继承与组合
  5. [译]WPF开源控件扩展库ControlzEx
  6. 使用Docker快速搭建Tensorflow开发环境
  7. SSO单点登录解决方案[转载]
  8. 在 Mac 上的“字体册”中如何安装和验证字体?
  9. 居民小区变配电电力监控系统-安科瑞苏月婷
  10. oracle 数值加减乘除
  11. Could not run ‘aten::slow_conv3d_forward‘ with arguments from the ‘CUDA‘ bac
  12. cinder云硬盘type创建
  13. ESXI 6.7全面系统教程~win10显卡直通
  14. 「app开发价格」开发一个app到底需要多少钱
  15. OpenWrt路由开启FTP服务访问文件
  16. 流体力学方程的秘密(1)
  17. python脚本删除源码注释
  18. Dockerfile实践指南之COPY vs ADD
  19. Word2Vec学习(自用)
  20. 东北大学计算机硬件题库,东北大学计算机硬件基础机考题库(150单选+编程)..pdf...

热门文章

  1. chrome顶部变黑_黑暗模式来了!最新版Chrome浏览器让你的网页通通变黑(内附设置教程)...
  2. windows下如何删除需要***授权的文件夹、文件
  3. 深入理解JVM虚拟机2:JVM垃圾回收基本原理和算法
  4. 微信王者有ios的服务器吗,就没有iOS微信区的吗...
  5. 我的web前端工作日志10------疫情过后
  6. Python 后台基于 PackerNg 格式动态生成 APK 渠道包
  7. c#程序员面试题汇总,方便自己记录
  8. Android天气开源项目之添加城市
  9. 如何用matlab读出一个灰度图像各点灰度值大小?
  10. 点击链接跳出微信下载app如何实现