Java’String replaceAll替换字符串前面的溢出,而不是结束.
发布时间:2020-12-15 08:27:53 所属栏目:Java 来源:网络整理
导读:我想用破折号输入一个字符串.在破折号内有一组字符.这个字符数由整数K指定.我将破折号开始,所以我有一个干净的字符串然后我正在使用 replaceAll("(.{" + K + "})","$0-") 要插入 – 每K个字符.我想要“溢出”(在所有以前的字符被分组后放在字符串的前面而不
我想用破折号输入一个字符串.在破折号内有一组字符.这个字符数由整数K指定.我将破折号开始,所以我有一个干净的字符串然后我正在使用
replaceAll("(.{" + K + "})","$0-") 要插入 – 每K个字符.我想要“溢出”(在所有以前的字符被分组后放在字符串的前面而不是结尾处的左边的字符). 例如,我有一个包含8个字符的字符串: String s = "1-23456-78"; String newS = s.replace("-",""); newS现在是12345678 int K = 3; String newNewS = newS.replaceAll("(.{" + K + "})","$0-").trim(); newNewS是123-456-78 我希望它是12-345-678.无论如何要反转replaceAll方法还是有另一种方法来做到这一点? 解决方法
你可以玩一个前瞻(
demo):
.{3}(?=(?:.{3})*$) 用…来代替: -$0 在你的情况下: "12345678".replaceAll(".{" + K + "}(?=(?:.{" + K + "})*$)","-$0") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |