两年没编码后,我有点失去锻炼。 我在txt文件中有数千行。所有类似于这一个:
X0 Y0 S-0.30
X0 Y0 S-0.21
X0 Y0 S-0.08
我需要从所有行中删除S-x.xx值。因此,每条线只保存X Y和相关值。
我尝试使用Regex
if (Line.Contains("S"))
{
Regex rgx = new Regex(@"S\d+(\.\d+)?");
Line = rgx.Replace(Line, "");
}
return Line;
但我没有得到我期望的结果。任何暗示都将受到赞赏。
由于
答案 0 :(得分:1)
您可以使用以下RegEx:(X\d+ Y\d+).*
并使用$1
。
X
字面匹配字符X
(区分大小写)
\d+
匹配一个数字(等于[0-9]
)一次或多次
Y
字面匹配字符Y
(区分大小写)
\d+
匹配一个数字(等于[0-9]
)一次或多次
答案 1 :(得分:1)
您可以使用
var result = Regex.Replace(s, @"\s+S-\d+(?:\.\d+)?", string.Empty);
请参阅regex demo
\s+
- 1+空格S-
- S-
substring \d+(?:\.\d+)?
- 数字模式:
\d+
- 1+位数(?:\.\d+)?
- 可选序列:\.
- dot \d+
- 1+位。答案 2 :(得分:0)
感谢您真的只想删除以<com.radesh.android.view.ViewPagerFixed xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
开头的最后一个第三个词。只需尝试用空字符串替换模式S
:
\sS.*$