在Java中的字符串中的所有字母之前和之后插入一个字符
我想在字符串中的每个字母之后插入一个 %
字符,但使用 StringBuilder 来加快速度。
例如,如果字符串是“AA”,那么它将是“%A%A%”。如果是 'XYZ' 那么它将是 '%X%Y%Z%'
I want to insert a %
character before after every letter in a string, but using StringBuilder to make it fast.
For example, if a string is 'AA' then it would be '%A%A%'. If it is 'XYZ' then it would be '%X%Y%Z%'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
输出:
您不需要
StringBuilder
。编译器将通过使用一个来为您处理正则表达式之前的简单串联。编辑以响应以下评论:
replaceAll()
使用 正则表达式(regex)。正则表达式
(.)
表示“匹配任何字符,并给我一个对它的引用”.
是任何字符的通配符,括号创建反向引用。第二个参数中的$1
表示“使用匹配中的反向引用 #1”。replaceAll()
在整个字符串上不断运行此表达式,将每个字符替换为自身后跟百分号,构建一个新字符串,然后将其返回给您。Output:
You don't need a
StringBuilder
. The compiler will take care of that simple concatenation prior to the regex for you by using one.Edit in response to comment below:
replaceAll()
uses a Regular Expression (regex).The regex
(.)
says "match any character, and give me a reference to it".
is a wildcard for any character, the parenthesis create the backreference. The$1
in the second argument says "Use backreference #1 from the match".replaceAll()
keeps running this expression over the whole string replacing each character with itself followed by a percent sign, building a new String which it then returns to you.尝试这样的事情:
Try something like this:
你可能会看到这个。
输出
You may see this.
Output
我同意 @Brian Roach 在前后添加字符,但如果您想添加任何特定字符,请执行以下操作像这样
I agree with @Brian Roach to add character to before and after but if you want to add any specific character then do like this