相关疑难解决方法(0)

替换字符串中最后一个单词 - C#

我有一个问题,我需要替换字符串中最后一个单词.

情况:我得到一个字符串,格式如下:

string filePath ="F:/jan11/MFrame/Templates/feb11";
Run Code Online (Sandbox Code Playgroud)

然后我这样替换TnaName:

filePath = filePath.Replace(TnaName, ""); // feb11 is TnaName
Run Code Online (Sandbox Code Playgroud)

这有效,但我遇到的问题TnaName与我的相同folder name.当发生这种情况时,我最终得到一个这样的字符串:

F:/feb11/MFrame/Templates/feb11
Run Code Online (Sandbox Code Playgroud)

现在,它已经取代两次出现的TnaNamefeb11.有没有办法可以只替换字符串中最后一次出现的单词?

注:feb11TnaName它来自另一个进程-这不是一个问题.

c# asp.net

75
推荐指数
3
解决办法
5万
查看次数

Powershell Get-Content - > Foreach-Object - > -replace - > Out-File在每个文件的开头添加一个char(0x00)

我有一个函数在文件中执行正则表达式替换.问题是它在它接触的每个文件的开头都添加了一个字符(0x00)(即使它找不到匹配的文件!).由于我正在编辑csproj文件,MSBuild给了我这个错误:

error MSB4025: The project file could not be loaded. '.', hexadecimal value 0x00, is an invalid character. Line 2, position 1.
Run Code Online (Sandbox Code Playgroud)

这是我的功能:

function fileStringRegExReplace ([string] $fileToChange, [string] $oldString, [string] $newString) {
    echo "f" | xcopy "$fileToChange" "$fileToChange.og.cs" /Y /Q

    $file = Get-Content "$fileToChange.og.cs" | 
        Foreach-Object {
            $_ -replace $oldString, $newString
        } |
        Out-File "$fileToChange"

    Remove-Item "$fileToChange.og.cs"
}
Run Code Online (Sandbox Code Playgroud)

如何替换我想要的行而不更改文件的任何其他部分?

regex powershell

3
推荐指数
1
解决办法
2193
查看次数

标签 统计

asp.net ×1

c# ×1

powershell ×1

regex ×1