lc_comeon 发布于 2018年01月10日 (共有13个回帖)
“张三dkjsg,李小四skchduilh,王五dhskl,欧阳大神dhh,.....”
这样很长的字符串,怎样截取出名字?求教大神指点!
![]() |
lc_comeon 发表于 3个月前
用substring的话,名字长短不同就搞不定
--- 共有 1 条评论 ---
|
![]() |
吴Yuan_小森森 发表于 3个月前
用正则试试
--- 共有 2 条评论 ---
|
![]() |
Mariwoluo 发表于 3个月前
用正则区分中文和字母
--- 共有 2 条评论 ---
|
![]() |
tcxu 发表于 3个月前
1. 中日韩统一表意文字(CJK Unified Ideographs),目的是要把分别来自中文、日文、韩文、越文中,本质、意义相同、形状一样或稍异的表意文字。其在统一编码 UNICODE 中的范围:4E00..9FFF。常用汉字 的unicode 码范围是:\u4e00-\u9fa5。 据此,可以编写JAVA 代码来提取常用汉字。鉴于你的字符串中的逗号字符的UNICODE 是 65292,若要提取中文名加逗号,那代码可以写成:
输出:
2. 利用定义了分隔符的令牌字符串 java.util.StringTokenizer, 也可以提取中文名称。
3. 当然,使用正则表达式,也能奏效。
--- 共有 2 条评论 ---
|
![]() |
googlewell 发表于 3个月前
用分词库估计可以,但是觉得没必要。可以通过UTF-8编码解决,中文编码一般是3位的。
|
![]() |
小99 发表于 3个月前
正则
|
![]() |
tcxu 发表于 3个月前
引用来自“小99”的评论正则 已知 调用 php 的函数split, 可以用正则表达式将字符串分割到数组中,就是说,它可以将字符串依指定的规则切开。故,
从而实现消除英文字符(作为分隔符 delimiter 的英文字符 ,自动消失了),提取中文字符串的功能。
输出:
|
![]() |
huhuiling 发表于 3个月前
正则,用[\u4e00-\u9fa5]中文字符集及group方法可将其提取
|