如何用Java中的正则表达式中的字符替换字符串中的第一个字符?

问题描述:

我有一个字符串,它代表产品的ID。这个字符串应该以这个正则表达式的字符之一开头:[a-zA-Z_:]如何在id开始时不使用字符的情况下,将ID中的第一个字符替换为正则表达式中的一个字符的正则表达式? 示例:“?rtg”以问号开头,不带大写字母,不带小写字母,不带下划线,不带冒号,但我需要以其中一个字符开头。先谢谢你!如何用Java中的正则表达式中的字符替换字符串中的第一个字符?

+1

你尝试过什么吗? – 2014-11-05 10:11:02

+0

提供输入和替换字符串的示例。 – anubhava 2014-11-05 10:11:38

+0

在字符串'“?rtg”'它应该被替换为什么? – anubhava 2014-11-05 10:19:25

如果字符串ID将被选中,你可以这样做:

ID = ID.replaceFirst("^[^a-zA-Z_:]", "a"); 

这取代ID的第一个字符,如果不是有效的字符之一,“A”。

对于给定的“bcde”,这将打印“artg”给定的“?rtg”
和“bcde”。

+0

这个问题写得不好。我现在想通了,它应该被替换。我对这个虚拟问题感到抱歉! – 2014-11-05 10:24:37

+1

没有理由感到抱歉。有没有虚拟问题 – vefthym 2014-11-05 10:25:53

+0

它被downvoted,虽然=) – 2014-11-05 10:29:15