我有很多字符串,其中包含多个空格和一个正斜杠:
string a="xxxxxx xxx xxxxxxxx xxxxxx aaa/xxxxxxxxxxxxxxx";
或
string b="xxxx xxx xxxxxx bbbbb/xxxxxxx xxx";
或
string c="xx xx 12345/x xx"
我需要做的是更换子串" aaa"或" bbbbb"或" 12345" (请注意,子字符串只是示例,它们可以是任何)和我想要的新字符串。
子串的特征" aaa"或" bbbbb"或" 12345"或者其他任何东西是子串正好在唯一的正斜杠之前,紧跟在这个斜线前面和最靠近斜线的空间之后。
如何找到这个子字符串,以便我可以用我想要的新子字符串替换它?感谢。
答案 0 :(得分:2)
虽然选择了建议的答案。我仍然决定回答我自己的问题。
string substr=""//any string I want
string a=OldString.split('/');//split by '/'
string b=a[0].Substring(0,a[0].LastIndexOf(' '));//get the substring before the last space
string NewString= b+ substr + a[1];//the substring between the space and the '/' is now replaced by substr
答案 1 :(得分:1)
گدھا
响应>>我需要一个通用的方法来替换斜杠和离它最近的空间之间的任何东西
答案 2 :(得分:0)
string a="xxxxxx xxx xxxxxxxx xxxxxx aaa/xxxxxxxxxxxxxxx";
string b="xxxx xxx xxxxxx bbbbb/xxxxxxx xxx";
string resultA = a.Replace("aaa", "Your replacement");
string resultB = b.Replace("bbbbb", "Your replacement");
答案 3 :(得分:0)
您应该考虑使用regex
表达式可能是这样的"([^/]+)\\s(\\w+)/(.+)"
Regex.Replace (yourString, "([^/]+)\\s(\\w+)/(.+)", "$1 replacement/$3")
Regex.Replace