2012-04-04 54 views
1

我需要创建一个接收字符串并检查最后一个字符是否为“\ n”的函数。如果是这样,返回相同的字符串,而不是最后一个字符。 我能想到的做法并不是丝毫有效的。我需要它是有效的。删除OCaml中字符串中最后的' n'

回答

4

由于您没有给出任何上下文,因此很难给出准确的答案。

我能想到的最简单的解决方法是:

let check s = 
    let n = String.length s in 
    if n > 0 && s.[n-1] = '\n' then 
    String.sub s 0 (n-1) 
    else 
    s 
+1

你的意思是:如果n> 0 && S [N-1] = '\ n',那么 – 2012-04-04 20:25:17

+0

我创建,产生了很长的一个方法字符串和我在某些情况下产生了“\ n”在最后,我不想要的。由于我接近完成时间,所以我没有时间重新考虑,所以像这样的解决方案似乎是解决方案xD。谢谢,你救了我的项目! – EBM 2012-04-04 20:29:07

+0

@MartinJambon是对的,我忘了处理n的大小为0的情况。我已经相应地编辑了我的答案。 – Thomas 2012-04-04 20:55:17

相关问题