日期:2014-05-19  浏览次数:20413 次

字符替换问题.
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, "(|)|- ", " ");