如何从字符串中删除 /* 和 */ 之间的字符
How do I remove characters between /* and */ from a string
我正在尝试从 String 中删除注释 (/* */) 的字符,但我不确定如何提取它们,尤其是从第二条注释中提取它们。
这是我的代码:
public String removeComments(String s)
{
String result = "";
int slashFront = s.indexOf("/*");
int slashBack = s.indexOf("*/");
if (slashFront < 0) // if the string has no comment
{
return s;
}
// extract comment
String comment = s.substring(slashFront, slashBack + 2);
result = s.replace(comment, "");
return result;
}
在测试器中 class:
System.out.println("The hippo is native to Western Africa. = " + tester.removeComments("The /*pygmy */hippo is/* a reclusive*/ /*and *//*nocturnal animal */native to Western Africa."));
输出:The hippo is/* a reclusive*/ /*and *//*nocturnal animal */native to Western Africa. // expected: The hippo is native to Western Africa.
如您所见,我无法删除评论,只能删除第一个评论。
获取两个String的索引后,将其转换为StringBuilder并使用方法deleteCharAt(int index)。
这是一条线:
public String removeComments(String s) {
return s.replaceAll("/\*.*?\*/", "");
}
这可以满足任意数量的评论,包括零条评论。
我正在尝试从 String 中删除注释 (/* */) 的字符,但我不确定如何提取它们,尤其是从第二条注释中提取它们。 这是我的代码:
public String removeComments(String s)
{
String result = "";
int slashFront = s.indexOf("/*");
int slashBack = s.indexOf("*/");
if (slashFront < 0) // if the string has no comment
{
return s;
}
// extract comment
String comment = s.substring(slashFront, slashBack + 2);
result = s.replace(comment, "");
return result;
}
在测试器中 class:
System.out.println("The hippo is native to Western Africa. = " + tester.removeComments("The /*pygmy */hippo is/* a reclusive*/ /*and *//*nocturnal animal */native to Western Africa."));
输出:The hippo is/* a reclusive*/ /*and *//*nocturnal animal */native to Western Africa. // expected: The hippo is native to Western Africa.
如您所见,我无法删除评论,只能删除第一个评论。
获取两个String的索引后,将其转换为StringBuilder并使用方法deleteCharAt(int index)。
这是一条线:
public String removeComments(String s) {
return s.replaceAll("/\*.*?\*/", "");
}
这可以满足任意数量的评论,包括零条评论。