Je n'ai trouvé de réponse nulle part une réponse. Si j'ai: Merci! P> string s = "Comment allez-vous" code>?
Comment puis-je diviser ceci en deux chaînes, alors première chaîne contenant de 0...Length () / 2 code> et la 2ème chaîne de S.Length () / 2 + + 1 .. S.Length () code>? p>
7 Réponses :
Vous pouvez utiliser 'Substring (Démarrer, Fin)', mais bien sûr, vérifiez si la chaîne n'est pas nulle avant:
String first = s.substring(0, s.length() / 2); String second = s.substring(s.length() / 2);
Mais cela ne fonctionne même pas ... il donne "re vous" code> et "e vous" code>
@Torres, non, qui manquerait le personnage du milieu. (et lancez une exception sur la chaîne vide)
La réponse d'Alois est incorrecte et Torres est également incorrecte. La bonne réponse est string s = "Comment allez-vous?"; Chaîne d'abord = S.Substring (0, S.Length () / 2); String second = S.Substring (S.Length () / 2); Code>
Je donne quelques astuces et explique comment fonctionne la méthode. Il n'était pas destiné à couvrir parfaitement les exigences, désolé. Maintenant corrigé ...
Utilisez string.substring. (int) , et string.Substring (int, int) méthode.
Vous avez commis une erreur: Substrage (BuT-Position). Donc, la sous-chaîne (Cutpos) n'est pas la même chose que la sous-chaîne (0, Cutpos)
Au lieu de S.Substring (CutPOS + 1, S.Length ()); code>, meilleure utilisation S.Substring (Cutpos + 1); code>
Désolé, cela ne fonctionne pas non plus. donne "comment un" code> et "e vous" code> (à condition que vous modifiez cutpos - code> à cutpos = code>
@aioobe, merci .... Le Cutpos + 1 sur le S2 est ce qui a causé le problème. Je l'ai corrigé
@Le gentleman Elite, vous voudrez peut-être modifier le premier - code> dans un = code> aussi.
Cela devrait faire:
String s = "How are you?"; String first = s.substring(0, s.length() / 2); // gives "How ar" String second = s.substring(s.length() / 2); // gives "e you?"
string.substring (int i) code> avec un argument renvoie la sous-chaîne de départ à la position (Notez que si la longueur de la chaîne est impair, i code> p> p> l> l>
string.substring (int i, int j) code> avec deux arguments renvoie la sous-chaîne de départ à i code> et finissant par j-1 code>. p> li>
ul> secondaire code> aura un autre caractère que premier code> en raison de l'arrondi de la division entier. ) p> p>
String s0 = "How are you?"; String s1 = s0.subString(0, s0.length() / 2); String s2 = s0.subString(s0.length() / 2); So long as s0 is not null.EDITThis will work for odd length strings as you are not adding 1 to either index. Surprisingly it even works on a zero length string "".
Voici une méthode qui scindre une chaîne dans les articles n em> de longueur. (Si la longueur de la chaîne ne peut pas être divisée exactement par n em>, le dernier élément sera plus court.) code de test: strong> < / p> ['Hound', 'Dog']
["Amour", 'moi te', 'nder']
['Jail', 'Hous', 'e ro', 'ck'] p>
blockQuote> p>
Je n'ai trouvé aucun endroit de réponse. P> blockQuote>
Le premier endroit où vous devriez toujours regarder est au Javadocs pour la classe en question: dans ce cas
java.lang.string code>. Les javadocs p>
- peut être parcouru en ligne sur le site Web Oracle (par exemple, chez http: // Télécharger. oracle.com/javase/6/docs/api/ ), li>
- sont inclus dans n'importe quel Sun / Oracle Java SDK Distribution, LI>
- sont probablement visibles dans votre IDE Java et Li>
- et être trouvé à l'aide d'une recherche Google. Li> ul>
final MessageSolution messageSolution = new MessageSolution();
final String message = "SMSas5 ABC DECF HIJK1566 SMS POP SUV XMXS MSMS";
final int maxSize = 11;
System.out.println(messageSolution.solution(message, maxSize));
}
Veuillez ajouter une explication à votre code pour être utile pour d'autres lecteurs.
Divisez la chaîne avec une longueur spécifiée sans une pause de mots, la saisie attendue contient sans l'espace d'attaque ou de suivi.
@roddik: Étant donné que la longueur est un int et 2 est une INT, cette division entière fera une première chaîne plus courte que la deuxième chaîne.