Ho letto questo question to get first char della stringa. C'è un modo per ottenere il primo numero n di caratteri da una stringa in C#?Come ottenere i primi cinque caratteri di una stringa
risposta
È possibile utilizzare Enumerable.Take come:
char[] array = yourStringVariable.Take(5).ToArray();
Oppure si può usare String.Substring.
string str = yourStringVariable.Substring(0,5);
Ricordate che String.Substring
potrebbe generare un'eccezione in caso di normali condizioni di stringa minore dei caratteri richiesti.
Se si desidera ottenere il risultato di nuovo nella stringa allora si può usare:
Utilizzando stringa del costruttore e di LINQ
Take
string firstFivChar = new string(yourStringVariable.Take(5).ToArray());
Il plus con l'approccio non sta controllando per la lunghezza prima della mano.
- L'altro modo è quello di utilizzare
String.Substring
con il controllo degli errori
come:
string firstFivCharWithSubString =
!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5
? yourStringVariable.Substring(0, 5)
: yourStringVariable;
stringa val = nuova stringa (yourStringVariable.Take (6) .ToArray()); ma la sottostringa genera un errore se la lunghezza di yourStringVariable è inferiore a 5 – Moji
'IsNullOrWhiteSpace' è errato qui. Considera una stringa con 10 spazi vuoti - il tuo codice restituirà tutti 10. Usa invece 'IsNullOrEmpty '. (Non è bene combinare 'IsNullOrWhiteSpace' con altri test, ma testare null + empty, quindi' Trim' se questo è il comportamento specificato, quindi fare qualunque test/operazioni sono necessari.) – ToolmakerSteve
È possibile utilizzare Substring(int startIndex, int length)
string result = str.Substring(0,5);
La sottostringa inizia in uno speci posizione del personaggio e ha una lunghezza specificata di . Questo metodo non modifica il valore dell'istanza attuale . Al contrario, restituisce una nuova stringa con i caratteri di lunghezza a partire dalla posizione startIndex nella stringa corrente, MSDN
Che cosa succede se la stringa di origine è inferiore a cinque caratteri? Otterrete un'eccezione usando il metodo sopra. Possiamo mettere le condizioni per verificare se il numero di caratteri nella stringa è maggiore di 5, quindi ottenere i primi cinque tramite Sottostringa. Nota Ho assegnato la stringa di origine alla variabile firstFiveChar. Il primoFiveChar non cambia se i caratteri sono meno di 5, quindi la parte non è richiesta.
string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
firstFiveChar = yourStringVariable.Substring(0, 5);
string str = "GoodMorning"
string strModified = str.Substring(0,5);
errore se lunghezza della variabile "str" è inferiore a 5 – Moji
errore se la lunghezza di yourString è inferiore a 5 – Moji
Il problema con .Substring(,)
è, che è necessario per essere sicuri che la stringa data ha almeno la lunghezza del il numero di caratteri richiesto, altrimenti verrà generato un numero ArgumentOutOfRangeException
.
Soluzione 1 (utilizzando 'Substring'):
var firstFive = stringValue != null ?
stringValue.Substring(0, stringValue.Length >= 5 ? 5 : stringValue.Length) :
null;
Lo svantaggio di usare .Substring(
è che è necessario controllare la lunghezza della stringa data.
Soluzione 2 (usando 'Take'):
var firstFive = stringValue != null ?
string.Join("", stringValue.Take(5)) :
null;
Utilizzando 'Take' impedirà è necessario controllare la lunghezza della stringa data.
Di seguito è un metodo di estensione che controlla se una stringa è più grande di ciò che era necessario e riduce la stringa per l'importo massimo definito di caratteri e aggiunge '...'.
public static class StringExtensions
{
public static string Ellipsis(this string s, int charsToDisplay)
{
if (!string.IsNullOrWhiteSpace(s))
return s.Length <= charsToDisplay ? s : new string(s.Take(charsToDisplay).ToArray()) + "...";
return String.Empty;
}
}
nessuno ha menzionato come fare controlli adeguati quando si utilizza Substring()
, così ho voluto contribuire a tale proposito.
Se non si desidera utilizzare Linq
e andare con Substring()
, è necessario fare in modo che la stringa è più grande del secondo parametro (lunghezza) di Substring()
funzione.
Supponiamo che siano necessari i primi 5 caratteri. Si dovrebbe ottenere loro con controllo adeguato, in questo modo:
string title = "love" // 15 characters
var firstFiveChars = title.Length <= 5 ? title : title.Substring(0, 5);
// firstFiveChars: "love" (4 characters)
Senza questo controllo, Substring()
funzione sarebbe un'eccezione perché sarebbe iterare attraverso le lettere che non ci sono.
Penso che si ottiene l'idea ...
Non so perché qualcuno ha menzionato questo. Ma è il modo più semplice e semplice per raggiungere questo obiettivo.
string str = yourString.Remove(n);
n
- numero di caratteri che è necessario
Esempio
var zz = "7814148471";
Console.WriteLine(zz.Remove(5));
//result - 78141
Questo è internamente uguale a "this.Substring (0, 5)", quindi è necessario assicurarsi che la stringa abbia la lunghezza corretta. – PersyJack
Prova sottostante Codice
string Name = "Abhishek";
string firstfour = Name.Substring(0, 4);
Response.Write(firstfour);
Questo non è diverso da questa risposta http://stackoverflow.com/a/15942016/6198927 e questo http://stackoverflow.com/a/15942008/6198927 –
ho cercato le risposte di cui sopra e la migliore secondo me è questo uno
@item.First_Name.Substring(0,1)
In questo ho potuto ottenere la prima lettera della stringa
Append cinque caratteri di spaziatura poi tagliati fuori i primi cinque e tagliare il risultato. Il numero di spazi da aggiungere deve corrispondere al numero che stai tagliando. Assicurati di includere la parentesi prima di .Substring(0,X)
o non aggiungerai nulla.
string str = (yourStringVariable + " ").Substring(0,5).Trim();
Con questa tecnica non dovrete preoccuparvi della ArgumentOutOfRangeException
detto in altre risposte.
io uso:
var firstFive = stringValue?.Substring(0, stringValue.Length >= 5 ? 5 : customAlias.Length);
o alternativo, se si desidera verificare la presenza di spazi bianchi troppo (anziché soltanto Null):
var firstFive = !String.IsNullOrWhiteSpace(stringValue) && stringValue.Length >= 5 ? stringValue.Substring(0, 5) : stringValue
Oppure si potrebbe usare String.ToCharArray().
Prende int startindex
ed e int length
come parametri e restituisce un char[]
new string(stringValue.ToCharArray(0,5))
Si avrebbe ancora bisogno di assicurarsi che la stringa ha la giusta lunghezza, altrimenti lancerà una ArgumentOutOfRangeException
Per ottenere il primo n numero di caratteri da una stringa in C#
String yourstring="Some Text";
String first_n_Number_of_Characters=yourstring.Substring(0,n);
Utilizzare la funzione PadRight per evitare che la stringa di essere troppo breve, afferrare w cappello di cui hai bisogno quindi tagliare gli spazi dalla fine tutti in una dichiarazione.
strSomeString = strSomeString.PadRight(50).Substring(0,50).TrimEnd();
- 1. Ottenere i primi 10 caratteri di una stringa?
- 2. Scala: come mascherare i primi N caratteri di una stringa
- 3. Come rimuovere i primi 10 caratteri da una stringa?
- 4. Espressione regolare estrai i primi tre caratteri da una stringa
- 5. Javascript: come ottenere i primi 4 numeri in una stringa?
- 6. Selezionare solo i primi caratteri in una stringa C++
- 7. Come ottenere i primi x caratteri da una stringa, senza tagliare l'ultima parola?
- 8. Come rimuovere i primi tre caratteri dalla stringa con C?
- 9. Restituisce primi N caratteri di stringa
- 10. Come arrivare primi 5 caratteri dalla stringa
- 11. Smarty stringa substr saltare primi caratteri
- 12. Nascondere i primi caratteri x
- 13. Come selezionare i primi 30 caratteri in una query sql?
- 14. come controllare i primi tre caratteri in una variabile?
- 15. Come ottenere tutti i caratteri dopo l'ultimo '-' in una stringa
- 16. C serie # stringa di ottenere solo i primi 10 valori
- 17. vi rimangono solo i primi 10 caratteri di una colonna
- 18. Come ottenere una stringa tra due caratteri?
- 19. Come ottenere i primi n elementi di una std :: map
- 20. come rimuovere i primi 3 caratteri da nsstring?
- 21. Come rimuovere i primi due e gli ultimi due caratteri in una stringa?
- 22. necessario ritagliare i primi 11 caratteri di una stringa in SQL
- 23. Come ottenere i primi n elementi da Hash nel rubino?
- 24. Come mescolare i caratteri in una stringa
- 25. Come ottenere gli ultimi 4 caratteri di una stringa?
- 26. VBA - Copia i primi tre caratteri da una stringa in un'altra cella
- 27. Come ordinare i caratteri di una stringa in ordine alfabetico?
- 28. Come ottenere il numero di caratteri in una stringa: std ::?
- 29. Come recuperare i primi n caratteri di una variabile in Bash?
- 30. Come ottenere i primi n caratteri nel file di dati unix
La domanda precedente si riferisce a ** 'char' ** se si sta chiedendo di ** carattere ** s. Non sono la stessa cosa. '' e '' sono due caratteri che dovevo usare solo ieri che non funzionavano nel software scritto in C# che stavo usando perché il programmatore non conosceva la differenza tra un 'char' e un carattere. Non cadere in questa trappola! – hippietrail