C'è un modo semplice per rimuovere i primi 2 e gli ultimi 2 caratteri in una stringa?Come rimuovere i primi due e gli ultimi due caratteri in una stringa?
ho questa stringa:
\nTESTSTRING\n
Come potrei facilmente cancellarli?
C'è un modo semplice per rimuovere i primi 2 e gli ultimi 2 caratteri in una stringa?Come rimuovere i primi due e gli ultimi due caratteri in una stringa?
ho questa stringa:
\nTESTSTRING\n
Come potrei facilmente cancellarli?
str = str.Substring(2,str.Length-4)
Naturalmente è necessario verificare che la stringa contiene più di 4 caratteri prima di fare questo. Anche nel tuo caso sembra che \ n sia un singolo carattere di nuova riga. Se tutto quello che vogliamo fare è rimuovere le iniziali e finali spazi bianchi, è necessario utilizzare
str.Trim()
come suggerito da Charles
Questa è la risposta corretta alla domanda, ma sembra che l'OP non si renda conto che \ n è l'escape per una nuova riga. –
La prima parte è corretta per il mio uso. Il secondo non è applicabile perché lo sto usando su HTML e l'uso di. Trr() non rimuove affatto lo spazio bianco. –
@Manu Sottostringa dovrebbe essere Sottostringa. È troppo piccolo di una modifica per me per inviare – MobileMon
Hai provato:
myString.Trim();
\ n è UNO carattere. –
myString = myString.SubString(2, myString.Length - 4);
Richiede un controllo per 'Lunghezza <4'. –
(myString == ESTSTRIN) == true –
// Test string
var str = "\nTESTSTRING\n";
// Number of characters to remove on each end
var n = 2;
// Slimmed string
string slimmed;
if (str.Length > n * 2)
slimmed = str.Substring(n, str.Length - (n * 2));
else
slimmed = string.Empty;
// slimmed = "ESTSTRIN"
Papuccino1,
Se si crea un metodo di estensione in questo modo:
public static class StringEnumerator {
public static IEnumerable<String> GetLines(this String source) {
String line = String.Empty;
StringReader stringReader = new StringReader(source);
while ((line = stringReader.ReadLine()) != null) {
if (!String.IsNullOrEmpty(line)) {
yield return line;
}
}
}
}
il codice sarà semplificato e sarà più sicuro (non dipende dall'indice pericoloso):
class Program {
static void Main(string[] args) {
String someText = "\nTESTSTRING\n";
String firstLine = someText.GetLines().First();
}
}
Spero che questo aiuta,
Ricardo Lacerda Castelo Branco
public string RemoveFirstCharFromString(string Text)
{
string[] arr1 = new string[] { "The ", "A " };
string Original = Text.ToLower();
if (Text.Length > 4)
{
foreach (string match in arr1)
{
if (Original.StartsWith(match.ToLower()))
{
//Original = Original.Replace(match.ToLower(), "").TrimStart();
Original = Original.Replace(Original.Substring(0, match.Length), "").TrimStart();
return Original;
}
}
}
return Original;
}
string Origional = TextBox1.Text.Replace(TextBox1.Text.Substring(0, 2), "");
Origional += Origional.Replace(Origional.Substring((Origional.Length - 2), 2), "");
la sua semplice con Substring
e Remove
metodi, come dettagliato nella this link:
string mystring = "122014";
mystring = mystring.Substring(mystring.Length - 4);
Response.Write(mystring.ToString());
//output:2014
mystring = "122014";
string sub = mystring.Remove(mystring.Length - 4);
Response.Write("<br>");
Response.Write(sub.ToString());
//output: 12
La tua domanda è sbagliata. "\ n" è UNO carattere (indicato anche in un commento qui sotto). –
... a meno che non sia solo il carattere \ n, ma in realtà la combinazione di caratteri \ r \ n utilizzata come interruzione di riga su sistemi non * nix. – Guffa
Se si desidera rimuovere \ n caratteri, è possibile utilizzare: 'str.Replace ('\ n', '');' –