0

私がこの文字列を持っているとしましょう:

String myString = "violet are blue|roses are red|this is a terrible poet";

文字「|」が見つかったときはいつでも文字列をトリミングしたいと思います。したがって、コードが実行されると、myString は次のようになります。

myString = "roses are red|this is a terrible poet";

そして最後に

myString = "this is a terrible poet";

出来ますか?

4

7 に答える 7

3
private string trimString(string s)
{
   int index = s.IndexOf("|");
   return s.Substring(index+1); //returns string from this index to the end of string
}

利用方法

String myString = "violet are blue|roses are red|this is a terrible poet";

myString = trimString(myString);
于 2012-12-15T09:41:32.640 に答える
0

以下のようにできます。

 string [] stringparts mystring.spilt('|');

stringspartsそこから必要なものを印刷するために使用できます。

于 2012-12-15T09:36:29.330 に答える
0

String.Split()メソッドの使用;

//Single Line Solution
string newString1 = myString.Split('|').Last();


//Another way
string[] arr = myString.Split('|');   //Split the string by | into an array
string newString2 = arr[arr.Length-1]; //Get the last element of the splited array



Console.WriteLine(newString1);
于 2012-12-15T09:37:20.990 に答える
0

Substringこれにはメソッドを使用できますが、拡張メソッドとして使用することもできます。最初へのトリミング (左) と最後へのトリミング (右) を含むコード|:

public static class StringExtensions
{
    public static string TrimToFirst(this string s)
    {
        int index = s.IndexOf('|');
        if(index >= 0)
        {
            s = s.Substring(index + 1);
        }
        return s;
    }

    public static string TrimToLast(this string s)
    {
        int index = s.LastIndexOf('|');
        if(index >= 0)
        {
            s = s.Substring(index + 1);
        }
        return s;
    }
}

// usage
string myString = "violet are blue|roses are red|this is a terrible poet";
Console.WriteLine(myString.TrimToLast());
// outpus: this is a terrible poet
于 2012-12-15T09:39:39.347 に答える
0

これは、これを行う100,000000の方法の1つです

string myString = "violet are blue|roses are red|this is a terrible poet";
string result = myString.Contains('|') ? myString.Substring(myString.IndexOf('|')).TrimStart('|') : myString;
于 2012-12-15T09:50:25.160 に答える
0

それを実装する簡単な方法:-

myString = myString.Substring(myString.LastIndexOf("|") + 1);
于 2012-12-24T19:05:38.767 に答える
0
string myString = "violet are blue|roses are red|this is a terrible poet";
var elements = myString.Split(new char[] { '|' }).Skip(1);

StringBuilder sb = new StringBuilder();
foreach (var element in elements)
{
    sb.Append(element);
    sb.Append("|");
}

string result = sb.Remove(sb.Length - 1, 1).ToString();

Console.WriteLine(result);
于 2012-12-15T09:41:34.040 に答える