Я хочу знать, как разбить строку в Blackberry The str.split() функция, кажется, отсутствуетКак разбить строку в Blackberry
ответ
Да, вы правы, функция сплит() не предусмотрен в Blackberry api. Я должен использовать это, поэтому я сделал это таким образом. Может быть, это будет полезно и вам.
public static String[] split(String original, String separator) {
Vector nodes = new Vector();
int index = original.indexOf(separator);
while (index >= 0) {
nodes.addElement(original.substring(0, index));
original = original.substring(index + separator.length());
index = original.indexOf(separator);
}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size() > 0) {
for (int loop = 0; loop < nodes.size(); loop++) {
result[loop] = (String) nodes.elementAt(loop);
System.out.println("Value inside result is ........ "+ result[loop]);
}
}
return result;
}
Проверьте это, простой один
public static String[] split(String str, char c) {
int index = str.indexOf(c);
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == c)
count++;
}
String[] words = new String[++count];
int counter = 0;
while (index >= 0) {
words[counter] = str.substring(0, index);
str = str.substring(index + 1,str.length()).trim();
counter++;
index = str.indexOf(c);
}
words[counter] = str;
return words;
}
Одно небольшое исправление: в цикле 'while' должно быть' str.substring (index + 1, str.length()). Trim(); 'вместо' str.substring (index, str.length()) .trim(); '. – Pablo
@Pablo. спасибо, что указал мне –
Это предпочтительно ссылка
если выше ссылка не работает, то идти throgh следующие
public String[] split(String strString, String strDelimiter)
{
int iOccurrences = 0;
int iIndexOfInnerString = 0;
int iIndexOfDelimiter = 0;
int iCounter = 0;
// Check for null input strings.
if (strString == null)
{
throw new NullPointerException("Input string cannot be null.");
}
// Check for null or empty delimiter
// strings.
if (strDelimiter.length() <= 0 || strDelimiter == null)
{
throw new NullPointerException("Delimeter cannot be null or empty.");
}
// If strString begins with delimiter
// then remove it in
// order
// to comply with the desired format.
if (strString.startsWith(strDelimiter))
{
strString = strString.substring(strDelimiter.length());
}
// If strString does not end with the
// delimiter then add it
// to the string in order to comply with
// the desired format.
if (!strString.endsWith(strDelimiter))
{
strString += strDelimiter;
}
// Count occurrences of the delimiter in
// the string.
// Occurrences should be the same amount
// of inner strings.
while((iIndexOfDelimiter= strString.indexOf(strDelimiter,iIndexOfInnerString))!=-1)
{
iOccurrences += 1;
iIndexOfInnerString = iIndexOfDelimiter + strDelimiter.length();
}
// Declare the array with the correct
// size.
String[] strArray = new String[iOccurrences];
// Reset the indices.
iIndexOfInnerString = 0;
iIndexOfDelimiter = 0;
// Walk across the string again and this
// time add the
// strings to the array.
while((iIndexOfDelimiter= strString.indexOf(strDelimiter,iIndexOfInnerString))!=-1)
{
// Add string to
// array.
strArray[iCounter] = strString.substring(iIndexOfInnerString, iIndexOfDelimiter);
// Increment the
// index to the next
// character after
// the next
// delimiter.
iIndexOfInnerString = iIndexOfDelimiter + strDelimiter.length();
// Inc the counter.
iCounter += 1;
}
return strArray;
}
@YAK: Попробуйте это ..
public void split(String Word,Char delimiter)
String[] arr = new String[5];
String text = "pen, pencil,book,123,note";
text=text+delimiter;
int n = 0;
for (int i = 0; i < text.length(); i++)
{
int s = text.indexOf(delimiter);
add(new RichTextField(Integer.toString(s)));
if(s==0)
{
arr[n]="null";
if(text.length()>1)
{
text = text.substring(1,text.length());
i = 0;
n++;
}
}
else
{
arr[n] = text.substring(0, s);
s = s + 1;
text = text.substring(s,text.length());
// add(new RichTextField("txt"+text));
i = 0;
n++;
}
}
for (int i = 0; i < arr.length; i++)
{
if (arr[i] != null)
{
add(new RichTextField("value: "+arr[i]));
}
}
- 1. Как разбить строку пробелами
- 2. как разбить строку
- 3. Как разбить эту строку
- 4. Как разбить строку
- 5. как разбить строку TWICE
- 6. Как разбить двоичную строку?
- 7. Как разбить многострочную строку?
- 8. Как разобрать/разбить строку?
- 9. Как разбить эту строку?
- 10. Как разбить следующую строку
- 11. Как разбить строку в VB6
- 12. Как разбить строку в sql?
- 13. Как разбить строку в скрипте
- 14. Как разбить строку в Bash?
- 15. Как разбить строку в скрипте
- 16. Как разбить строку в массиве?
- 17. Как разбить строку в Angular.js?
- 18. Как разбить строку в LESS?
- 19. Как разбить строку в Rust?
- 20. Как разбить строку в JAVA
- 21. Как разбить строку в Tcl
- 22. Как разбить строку в scala?
- 23. Как разбить строку в PHP
- 24. Как разбить строку в Ruby?
- 25. как разбить строку в цикле
- 26. Как разбить строку в словарь
- 27. как разбить строку в C#
- 28. Как разбить строку в java?
- 29. Как разбить строку в Javascript
- 30. Как разбить строку в Thymeleaf
получить длину строки и использовать метод подстроку для разделения – Signare
str.substring (0,5); это разделит строку от начала до длины 5. – Signare
@YAK, вы проверили ответы? Я думаю, что любой из них решит вашу проблему. Почему этот вопрос еще не решен? – Rupak