3

私の元の質問は、文字列から特定の文字を分割し、それらの2つの文字の間にあったものを削除する方法について昨日回答されました。

このような文字列からの削除について話しました...

lg-109-1.ea-091-2.hd-180-1.hr-220-1

時々自分のキャラクターを分割したいと思ったことに気づきませんでした(この場合、hdと。とhrと。の間のすべてでした)

しかし、あなたは何時間も存在しない.ので、それは削除されていないことがわかります

これは私が使用しているコードです...

public static string RemoveB(string s) {
    s = Regex.Replace(s, @"hr.*?\.", "");
    s = Regex.Replace(s, @"hd.*?\.", "");
    return s;
}

誰かが時間の後に。があるかどうかを確認する方法を知っていますか?ない場合はそれを削除するだけですか?

4

3 に答える 3

2

できるよ

Regex.Replace(s, @"(hr|hd).*?(\.|$)", "");

$文字列の終わりを示します

于 2013-01-04T12:21:04.680 に答える
1

どちらかまたは行末に一致させるために、(\.|$)代わりに使用してみてください。または、hr が常に最後のエントリであることがわかっている場合は、代わりに常に行末に一致させる代わりに使用できます。\..$\.

于 2013-01-04T12:13:09.753 に答える
-3
public static string RemoveB(string s) {
    s = s.Replace("hr.","$");
    s = s.Replace("hr","");
    s = s.Replace("$","hr.");
    return s;
}
于 2013-01-04T12:03:43.387 に答える