正規表現:
"-[0-9]{0,}"
弦:
"-abc"
ここのテストによると、それは起こらないはずです。私は自分のコードで何か間違ったことをしていると思います。
コード:
public static void main(String[] args) {
String s = "-abc";
String regex = "-[0-9]{0,}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
if (matcher.group().length() == 0)
break;
// get the number less the dash
int beginIndex = matcher.start();
int endIndex = matcher.end();
String number = s.substring(beginIndex + 1, endIndex);
s = s.replaceFirst(regex, "negative " + number);
}
System.out.println(s);
}
いくつかのコンテキスト: 私が使用している音声合成プログラムは、先頭にマイナス記号がある数字を発音できないため、「マイナス」という単語に置き換える必要があります。