Java “的含义\\厘米?\r?\n;在爪哇

Java “的含义\\厘米?\r?\n;在爪哇,java,replaceall,Java,Replaceall,我为我想用Java做的事情得到了一个类,它使用了一行代码 text[i] = text[i].replaceAll("\\cM?\r?\n", ""); 我完全理解命令replaceAll用第二个字符串替换第一个字符串,但不完全理解“\cM?\r?\n”代表什么 如果有人能用引号解释这段文字,我将不胜感激。(我试过用谷歌搜索,但没有找到满意的答案) \cM与Control-M或回车符匹配 \r与回车符匹配 \n是一条新的线 ??与前面的字符或子表达式零次或一次匹配。 例如,“do(es)?”与

我为我想用Java做的事情得到了一个类,它使用了一行代码

text[i] = text[i].replaceAll("\\cM?\r?\n", "");
我完全理解命令replaceAll用第二个字符串替换第一个字符串,但不完全理解“\cM?\r?\n”代表什么

如果有人能用引号解释这段文字,我将不胜感激。(我试过用谷歌搜索,但没有找到满意的答案)

\cM与Control-M或回车符匹配

\r与回车符匹配

\n是一条新的线

??与前面的字符或子表达式零次或一次匹配。 例如,“do(es)?”与“do”或“does”中的“do”匹配?是 等价于{0,1}

不同的操作系统有不同的方式在windows中启动新的产品线,而在POSIX中则不同。ec等

您的代码实际上是删除所有新行,并将所有内容放在一行上。

\cM与Control-M或回车符匹配

\r与回车符匹配

\n是一条新的线

??与前面的字符或子表达式零次或一次匹配。 例如,“do(es)?”与“do”或“does”中的“do”匹配?是 等价于{0,1}

不同的操作系统有不同的方式在windows中启动新的产品线,而在POSIX中则不同。ec等


您的代码实际上是删除所有新行,并将所有内容放在一行上。

它匹配所有新行字符<代码>\cM是Windows的行尾<代码>\r\n是在Windows中执行行结束的另一种方法<代码>\n是标准的Unix行结尾

表示可选


因此,匹配所有类型的行尾的
\cM
\r\n
\n
。应该使所有内容都在一行中…

它匹配所有新行字符<代码>\cM是Windows的行尾<代码>\r\n是在Windows中执行行结束的另一种方法<代码>\n是标准的Unix行结尾

表示可选


因此,匹配所有类型的行尾的
\cM
\r\n
\n
。应该将所有内容都放在一行上…

正如我之前在评论中所说的那样

字符转义

\cX匹配一个控制字符。例如:\cm与control-M匹配

\r匹配回车

\n匹配linefeed


正如我前面在评论中所说的

字符转义

\cX匹配一个控制字符。例如:\cm与control-M匹配

\r匹配回车

\n匹配linefeed


这是一个正则表达式,在您的情况下,它将删除所有与以下内容匹配的新行/换行符:\cM将与Control-M或回车符匹配,\r用于匹配回车符,\n用于新行

它是一个正则表达式,在您的情况下,将删除所有与以下内容匹配的新行/换行符:\cM将匹配Control-M或回车符,\r用于匹配回车符,\n用于新行

\r\n
表示换行符,可能会将您设置为正确的方向。\cM与Control-M(回车符)匹配,您能解释一下“\cM”吗?谢谢
\r\n
表示换行符,可能会将您设置为正确的方向。\cM与Control-M(回车符)匹配,您能解释一下“\cM”吗?谢谢!