
下面的方法能够解决问题
/* * 若真实姓名为 张三 * 则返回 **三 */ public static String realName(String realName){ if(realName == null) return null; char[] charArray = realName.toCharArray(); return "**" + charArray[charArray.length - 1]; } 实现方式能不能用 replaceAll 的办法?
public static String realName(String realName){ if(realName == null) return null; return realName.replaceAll("(\\w+)(\\w)", "**$2"); } 正则中 w 不支持中文。
1 v1024 2016 年 7 月 28 日 via iPhone JS : "**" + "胡汉三".split("").pop() |
3 BuilderQiu 2016 年 7 月 28 日 正则换成: ^.*(.)$ |
4 Zeahoo OP @BuilderQiu 成功了~感谢! |
5 caixiexin 2016 年 7 月 28 日 public static void main(String[] args) { String name = "张三"; String name2 = name.replaceAll("([\\u4e00-\\u9fa5])([\\u4e00-\\u9fa5])","**$2"); System.out.println(name2); } |
7 Bryan0Z 2016 年 7 月 28 日 via Android 为啥你写的这么烦 "**"+string.charAt(string.length()); 一行不就好了 |
8 xcodebuild 2016 年 7 月 28 日 让前端隐藏是掩耳盗铃。。 |
9 icaca 2016 年 7 月 28 日 select 的时候直接处理好 |
10 hoperuin 2016 年 7 月 28 日 想不明白了,为什么要这么复杂呢?看下面 demo public class Test { public static void main(String[] args) { String s = "哈哈张三我哈哈哈张三哦"; System.out.println(s.replaceAll("张三","**三")); } } 输出: 哈哈**三我哈哈哈**三哦 |
12 dullwit 2016 年 7 月 28 日 看到 string 判断用 == null ,我心情就紧张起来了 |
14 Sunshow 2016 年 7 月 28 日 别浪,踏踏实实用 StringUtils |
15 Cabana 2016 年 7 月 28 日 via Android ==null …你会吃亏的 |
19 bp0 2016 年 7 月 29 日 考虑复姓的情况了吗? 欧阳三,应该换成“**三”,而不是“**阳三”吧? |
20 thinkmore 2016 年 7 月 29 日 占坑问问题!! 同问一个问题,我现在前台输入字符串,然后解析规则是:将逗号转义为\c ,然后将\转义成为\\,然后存入数据库。 此时如果我从数据库取出的数据是\\c ,如何将其转义为\, 如果前台输入的是\c 这种怎么办? 请问 java 或者 js 有什么好的方法吗? |
22 chocotan 2016 年 7 月 29 日 [charArray.length - 1] 当传入的是""字符串的时候会抛异常 |
24 haniklz 2016 年 7 月 30 日 via Android 难道不是替换人名中的姓?用正则表达式性能多低啊 直接 length 大于 1 时 返回 **+substring(1)不好么。 |