当前位置: 首页 > 面试题库 >

Java:从字符串中删除注释

严信瑞
2023-03-14
问题内容

我想做一个获取字符串的函数,以防它有内联注释时将其删除。我知道这听起来很简单,但是我想确保即时消息正确执行,例如:

private String filterString(String code) {
  // lets say code = "some code //comment inside"

  // return the string "some code" (without the comment)
}

我考虑了两种方法:否则请随时咨询

  1. 迭代字符串并找到双行括号并使用substring方法。
  2. 正则表达式的方式..(我不太确定回合吧)

您能告诉我什么是最好的方法,并告诉我应该怎么做吗?(请不要建议太高级的解决方案)

编辑:可以使用Scanner对象以某种方式完成此操作吗?(无论如何都使用此对象)


问题答案:

使用正则表达式替换在常量子字符串之前找到子字符串有点多。

您可以使用它indexOf()来检查注释开始的位置并substring()获得第一部分,例如:

String code = "some code // comment";
int    offset = code.indexOf("//");

if (-1 != offset) {
    code = code.substring(0, offset);
}


 类似资料:
  • 问题内容: 我有这样的字符串 我想删除,并从。我希望结果是。我怎样才能做到这一点? 问题答案: 正则表达式与replaceAll。 如果您只想在成对时删除\ r \ n(上面的代码删除了\ r或\ n),请执行以下操作:

  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?

  • 问题内容: 我在文件中有一个字符串,其中包含BOM(来自UTF-8)。我想将此字符串转换为win-1251并将其放入文件中。 我试图以这种方式从字符串中删除BOM: 但这不起作用。为什么? 此字符串在win-1251文件中的输出: 首先是“?” 标志是非法的。 问题答案: 您用U + 0000代替BOM表,而不是空字符串。您应该用空字符串替换BOM,例如

  • 问题内容: 如何从字符串中删除奇怪的和不需要的Unicode字符(例如带问号的黑色菱形)? 更新: 请告诉我对应于“其中带有问号的黑色菱形”的Unicode字符串或正则表达式。 问题答案: 带问号的黑色菱形不是unicode字符- 它是字体无法显示的字符的占位符。如果字符串中存在一个字形,而该字形不是用于显示该字符串的字体,则将看到占位符。定义为U + FFFD:它的外观取决于您使用的字体。 您可

  • 问题内容: 我有一个包含非ASCII字符的URI,例如: http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl -ttrigeSomerzischeruchtanb 如何从此URI中删除“ …” 问题答案: 我猜想URL的来源更多是错误的。也许您正在解决错误的问题?从URI中删除“奇怪”字符可能会赋予它完

  • 问题内容: 可以说我有这个单词列表: 比我有文字 是否有匹配stopWords并在忽略大小写时将其删除的方法;像这样的地方?: 结果: 如果您了解正则表达式,效果很好,但我真的更喜欢像Commons解决方案这样的东西,它更注重性能。 顺便说一句,现在我正在使用此通用方法,该方法缺少适当的不区分大小写的处理: 问题答案: 这是不使用正则表达式的解决方案。我认为它不如我的其他答案,因为它更长且不清楚,