使用子字符串拆分字符串
Split string using substring
我是 android 的新手,下面是一个场景。
我下面有以下字符串
file=android.txt&data="sampleExample"
如何提取子字符串 android.txt 和 sampleExample?
注意:我尝试了以下代码
myString.substring(myString.lastIndexOf('=')+1, myString.length() );
但它 returns 输出为 SampleExample.
请帮我解决这个问题
谢谢
您可以简单地使用 String
class 中的 split
方法。
拆分file=android.txt&data=it contains android data
在 &
上获取 "file=android.txt"
和 "data=it contains android data"
的数组。
然后你可以在 =
上拆分每个元素,所以
file=android.txt
-> file
, android.txt
data=it contains android data
-> data
, it contains android data
所以你的代码看起来像
foreach element in data.split(&)
array = element.split(=)
get second element from array
您输入的字符串看起来像查询字符串。 IE。由“&”分隔的 key/value 对列表。
我会将每个 key/value 对拆分为一个字符串,然后在第一个“=”之后提取值。
String input = "file=android.txt&data=it contains android data";
String[] items = input.split("&");
String[] results = new String[items.length];
for (int i = 0; i < items.length; i++)
{
int pos = item.indexOf("=");
if (pos == -1)
results[i] = null;
else
results[i] = items[i].substring(pos + 1);
}
// results now holds your strings.
String body = "file=android.txt&data=it contains android data"
String[] data = body.substring(body.indexOf('=')+1, body.length()).split("&data=");
// data[0] = "android.txt"
// data[1] = "it contains android data"
这是您要查找的内容:
String myString = "file=android.txt&data=it contains android data";
Pattern pattern = Pattern.compile("^file=([^&]+)&data=(.+)");
Matcher matcher = pattern.matcher(myString);
if (matcher.find()) {
String first = matcher.group(1);
String second = matcher.group(2);
}
久经考验。
我是 android 的新手,下面是一个场景。
我下面有以下字符串
file=android.txt&data="sampleExample"
如何提取子字符串 android.txt 和 sampleExample?
注意:我尝试了以下代码
myString.substring(myString.lastIndexOf('=')+1, myString.length() );
但它 returns 输出为 SampleExample.
请帮我解决这个问题
谢谢
您可以简单地使用 String
class 中的 split
方法。
拆分file=android.txt&data=it contains android data
在 &
上获取 "file=android.txt"
和 "data=it contains android data"
的数组。
然后你可以在 =
上拆分每个元素,所以
file=android.txt
-> file
, android.txt
data=it contains android data
-> data
, it contains android data
所以你的代码看起来像
foreach element in data.split(&)
array = element.split(=)
get second element from array
您输入的字符串看起来像查询字符串。 IE。由“&”分隔的 key/value 对列表。
我会将每个 key/value 对拆分为一个字符串,然后在第一个“=”之后提取值。
String input = "file=android.txt&data=it contains android data";
String[] items = input.split("&");
String[] results = new String[items.length];
for (int i = 0; i < items.length; i++)
{
int pos = item.indexOf("=");
if (pos == -1)
results[i] = null;
else
results[i] = items[i].substring(pos + 1);
}
// results now holds your strings.
String body = "file=android.txt&data=it contains android data"
String[] data = body.substring(body.indexOf('=')+1, body.length()).split("&data=");
// data[0] = "android.txt"
// data[1] = "it contains android data"
这是您要查找的内容:
String myString = "file=android.txt&data=it contains android data";
Pattern pattern = Pattern.compile("^file=([^&]+)&data=(.+)");
Matcher matcher = pattern.matcher(myString);
if (matcher.find()) {
String first = matcher.group(1);
String second = matcher.group(2);
}
久经考验。