字符替换问题.
string afff = "P1A-P2R-P3D-P5T()-1002 " ;
我想把afff中的()和-都去掉变成P1AP2RP3DP5T1002 这样的格式,怎么做?
string changeaff=afff.Replace( '- ', ' ');会报错
string changeaff=afff.Replace( '- ', " ".tochararray);也会报错.
还有怎样同时替换()-这三个符号呢?
------解决方案--------------------可以使用循环进行控制,目的字符舍弃掉就行了
------解决方案--------------------顶二楼的
------解决方案--------------------string changeaff=afff.Replace( "- ", " ");
changeaff=changeaff.Replace( "() ", " ");
------解决方案--------------------char [] tmpArray = afff.ToCharArray();
string tmpStr = string.Empty;
foreach (char tmpChar in tmpArray)
{
if (tmpChar == '- ' || tmpChar == '( ' || tmpChar == ') ' || tmpChar == ' ')
continue;
tmpStr += tmpChar.ToString();
}
------解决方案--------------------一般的用string的Replace就可以了
string changeaff=afff.Replace( "- ", " ");
changeaff=afff.Replace( "( ", " ");
changeaff=afff.Replace( ") ", " ");
如果想一次性全部替换,也可以用正则,不过一般应用没有直接用string的方法效率高
using System.Text.RegularExpressions;
string changeaff= Regex.Replace(afff, @ "[-\(\)] ", " ");
------解决方案--------------------汗,直接Replace的应该这样写
string changeaff=afff.Replace( "- ", " ");
changeaff=changeaff.Replace( "( ", " ");
changeaff=changeaff.Replace( ") ", " ");
------解决方案--------------------string changeaff= System.Text.RegularExpressionsRegex.Replace(afff, @ "[-\(\)] ", " ");
------解决方案--------------------up
------解决方案--------------------string changeaff=afff.Replace( '- ', ' ');
-->
string changeaff=afff.Replace( "- ", " ");
------解决方案--------------------using System.Text;
using System.Text.RegularExpressions;
afff = Regex.Replace(afff, "(|)|- ", " ");