如何在字符串数组项元素中搜索特定文本?以下是xml文件的示例。字符串数组名称是android。我在string-array中有一些项目。现在我想搜索“软件”这个词。请告诉我怎么做?
<?xml version="1.0" encoding="utf-8"?><resources>
<string-array name="android">
<item>Android is a software stack for mobile devices that includes an operating system, middleware and key applications.</item>
<item>Google Inc. purchased the initial developer of the software, Android Inc., in 2005..</item>
</string-array>
答案 0 :(得分:26)
这种方法有更好的表现:
String[] androidStrings = getResources().getStringArray(R.array.android);
if (Arrays.asList(androidStrings).contains("software") {
// found a match to "software"
}
Arrays.asList().contains()
比使用for
循环更快。
答案 1 :(得分:18)
我假设您想在代码中执行此操作。 api中没有任何东西可以在整个String数组上进行文本匹配;你需要一次做一个元素:
String[] androidStrings = getResources().getStringArray(R.array.android);
for (String s : androidStrings) {
int i = s.indexOf("software");
if (i >= 0) {
// found a match to "software" at offset i
}
}
当然,您可以使用Matcher和Pattern,或者如果您想知道匹配数组中的位置,则可以使用索引遍历数组。但这是一般方法。