C#で文字間の空白を削除するにはどうすればよいですか?
Trim()
を使用すると、文字列の最初と最後の空のスペースを削除できます。たとえば、" C Sharp ".Trim()
は_"C Sharp"
_を返します。
しかし、文字列をCSharp
にする方法は?一時変数と共にfor
または_for each
_ループを使用してスペースを削除できます。しかし、C#(.Net framework 3.5)
のようにこれを行うためのTrim()
の組み込みメソッドはありますか?
String.Replace メソッドを使用できます
string str = "C Sharp";
str = str.Replace(" ", "");
または、すべての空白文字(スペース、タブ、改行...)を削除する場合
string str = "C Sharp";
str = Regex.Replace(str, @"\s", "");
すべての単語の間に1つのスペースを確保したい場合。次のように行うこともできます。
string.Join(" ", inputText.Split(new char[0], StringSplitOptions.RemoveEmptyEntries).ToList().Select(x => x.Trim()));
すべての単語の間に1つのスペースを確保したい場合。これでうまくいくはずです。
public static string TrimSpacesBetweenString(string s)
{
var mystring =s.RemoveTandNs().Split(new string[] {" "}, StringSplitOptions.None);
string result = string.Empty;
foreach (var mstr in mystring)
{
var ss = mstr.Trim();
if (!string.IsNullOrEmpty(ss))
{
result = result + ss+" ";
}
}
return result.Trim();
}
文字列の間の文字列を削除するので、入力が
var s ="c sharp";
result will be "c sharp";
//Remove spaces from a string just using substring method and a for loop
static void Main(string[] args)
{
string businessName;
string newBusinessName = "";
int i;
Write("Enter a business name >>> ");
businessName = ReadLine();
for(i = 0; i < businessName.Length; i++)
{
if (businessName.Substring(i, 1) != " ")
{
newBusinessName += businessName.Substring(i, 1);
}
}
WriteLine("A cool web site name could be www.{0}.com", newBusinessName);
}
このメソッドは、計算されたプロパティを利用して「productName」と言うクラスを構築し、空白を取り除いて、スペースのない製品名を使用する画像と同等のURLを作成するようなものに最適です。例えば:
namespace XXX.Models
{
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public string ProductDescription { get; set; }
public string ProductImage
{
get { return ProductName.Replace(" ", string.Empty) + ".jpg"; }
}
}
}
したがって、この回答では、w69rdyと非常によく似た方法を使用しましたが、例ではそれを使用し、さらに「」の代わりにstring.Emptyを使用しました。 .Net 2.0以降は違いはありませんが、私のコードを読む必要のある他の人にとっては、読みやすく、理解しやすいと思います。また、コードブロックに含まれるすべての引用符で失われることがあるので、これも好みです。
var str=" c sharp "; str = str.Trim();
str = Regex.Replace(str, @"\s+", " "); ///"c sharp"
string myString = "C Sharp".Replace(" ", "");