.
行の先頭にドット()が表示されている場合は削除したいので、次に例を示します。
hi,
<new line> .
<new line> How are you.
この行を削除するにはどうすればよいですか?
行の先頭にあるドットを削除します。
resultString = Regex.Replace(subjectString, @"^\.", "", RegexOptions.Multiline);
ドットで始まる行全体を削除します。
resultString = Regex.Replace(subjectString, @"^\..*\r\n", "", RegexOptions.Multiline);
ドットのみが含まれている場合は、行全体を削除します。
resultString = Regex.Replace(subjectString, @"^\.\r\n", "", RegexOptions.Multiline);
ドットで始まり、末尾に空白が含まれている可能性がある場合は、行全体を削除します。
resultString = Regex.Replace(subjectString, @"^\.[^\r\n\S]*\r\n", "", RegexOptions.Multiline);
string result = "hi,\n.\nHow are you.".Replace("\n.\n", "\n");
組み込みの文字列比較を使用できます-利用可能なものはたくさんあります。
RegExを使用できます。
しかし、それはすべて1つのポイントになります->あなたは何を試しましたか?ドキュメントをお読みください。
考えられる短い答え:
// allLines is your List/Array/Enumerable of all lines that need checking
foreach(string line in allLines){
if(!line.Trim().StartsWith("."){
// Do whatever you like with the found string.
line = line.Remove(".",1);
}
}
あなたの場合、「検出」とはどういう意味ですか?ドットが発生した場合にtrue/falseを返すだけの場合は、検索できます"\n."
-改行の後にドットが続きます。あなたはそれのために正規表現さえ必要としません:
bool weHaveDot = myString[0] == "." || (myString.IndexOf("\n.") > -1);
どうですか:
MyLine.Substring(MyLine.IndexOf("<new line> ") + 11).StartsWith(".")
答えは質問の意味によって異なるのではないかと思います。
私の推測では、いくつかの行があり、ドットのみで構成される行を削除したいと考えています。右?
その場合、解決策は次のようになります。
そして、そのための正規表現は必要ありません。(正規表現の経験を積みたい場合を除いて、その場合は申し訳ありません。)