字符串中的字符“^ $”

时间:2015-02-09 23:23:55

标签: c++ string char

这可能是一个天真的问题,但我不知道这些代码的作用

"^$","^","$"

在功能

 string preProcess(string s) 
  {
    int n = s.length();
    if (n == 0) return "^$";
    string ret = "^";

   for (int i = 0; i < n; i++)
    ret += "#" + s.substr(i, 1); 

    ret += "#$";
    return ret;
}

该功能的目的是插入&#34;#&#34;在字符串s中的每个字符之间。例如,更改字符串&#34; aba&#34;到&#34; #a#b#a#&#34;。 我无法弄清楚&#34; ^ $&#34;&#34; ^ $&#34;在这里。如果我更改它们,则会导致运行时错误。

谢谢!

1 个答案:

答案 0 :(得分:3)

^是行标记的开头。 $是行结束标记。如果输入为空,则此函数只返回空行^$。否则,它将返回"^...$",其中...与您描述的#交错。

可能会选择^$,因为它们在大多数正则表达式中都被用作行首和行尾标记。