Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计数和删除字符串-java_Java - Fatal编程技术网

计数和删除字符串-java

计数和删除字符串-java,java,Java,如何删除所有不必要的信息,只打印公司样本。请注意,此值不可更改。此字符串中唯一的静态值是:名称:,:地址:,:联系人: :名称:样本公司:地址:#79哥伦比亚地标城:联系人:‎1234567 谢谢 您可以使用string.split(“:”)并从数组中读取第三个对象以获取值您可以使用string.split(“:”)并从数组中读取第三个对象以获取值 string[] sa = yourstring.split(':'); string newstring = sa[1]; 然后只需打印新闻字

如何删除所有不必要的信息,只打印公司样本。请注意,此值不可更改。此字符串中唯一的静态值是:名称:,:地址:,:联系人:

:名称:样本公司:地址:#79哥伦比亚地标城:联系人:‎1234567


谢谢

您可以使用
string.split(“:”)
并从数组中读取第三个对象以获取值

您可以使用
string.split(“:”)
并从数组中读取第三个对象以获取值

string[] sa = yourstring.split(':');

string newstring = sa[1];
然后只需打印新闻字符串。您说过公司名称将更改,但字符串将始终采用该格式,因此,如果公司名称始终位于第二个位置,则即使公司名称更改,这也会起作用


然后只需打印新闻字符串。您说过公司名称将更改,但字符串将始终采用该格式,因此,如果公司名称始终位于第二个位置,则即使公司名称更改,这也会起作用。

让我们使用正则表达式,因为您的
字符串中有标签

下面是一个简单的工作原理:

String s = ":name:SAMPLE COMPANY:address:#79 Landmark City Columbia:contact:‎1234567";
Pattern p = Pattern.compile(":name:(.*):address:(.*):contact:‎(.*)");
Matcher m = p.matcher(s);
if(m.find()){
    System.out.println("Name : " + m.group(1));
    System.out.println("Address : " + m.group(2));
    System.out.println("Contact : " + m.group(3));
}
这将输出

Name : SAMPLE COMPANY
Address : #79 Landmark City Columbia
Contact : 1234567

由于
字符串中有标签,所以让我们将正则表达式与一些正则表达式一起使用

下面是一个简单的工作原理:

String s = ":name:SAMPLE COMPANY:address:#79 Landmark City Columbia:contact:‎1234567";
Pattern p = Pattern.compile(":name:(.*):address:(.*):contact:‎(.*)");
Matcher m = p.matcher(s);
if(m.find()){
    System.out.println("Name : " + m.group(1));
    System.out.println("Address : " + m.group(2));
    System.out.println("Contact : " + m.group(3));
}
这将输出

Name : SAMPLE COMPANY
Address : #79 Landmark City Columbia
Contact : 1234567


这是您正在处理的一行数据,还是有很多这样的行?如果您不提供…这是您正在处理的一行数据,还是有很多这样的行?如果您不提供…不是真的,第二个值将是
name
(因为只排除尾随的空字符串)。但逻辑仍然正确@AxelH。编辑了我的答案。谢谢当公司名称中有
时,这将失败。我将使用indexOf和substring方法。无论如何,干净的解决方案+1。我同意@UmaKanth,但使用
indexOf
并没有真正的帮助,使用regex会更简单。@UmaKanth如果名称是co呢ntains
:地址:
?问题不在于此答案;问题的参数尚未确定​ 不太清楚。在本例中,第二个值是
name
(因为只排除尾随的空字符串)。但逻辑仍然正确@AxelH。编辑了我的答案。谢谢当公司名称中有
时,这将失败。我将使用indexOf和substring方法。无论如何,干净的解决方案+1。我同意@UmaKanth,但使用
indexOf
并没有真正的帮助,使用regex会更简单。@UmaKanth如果名称是co呢ntains
:地址:
?问题不在于此答案;问题的参数尚未确定​ 已明确说明。与的答案相同的注释,因为这是相同的…秒值将是
name
而不是您要查找的值。请参见
String.split
的实际工作方式。与的答案相同的注释,因为这是相同的…秒值将是
name
而不是您要查找的值。请参见如何
String.split
真的有效。如果地址包含字符串
:address:
?@shmosel,如果我们更好地定义组,这可能有效。我想,但老实说,这不太可能在地址中找到这种模式。我同意这不太可能,但对于单个冒号也可能如此。或者可能有转义序列。这都是猜测l OP细化了他的问题。@shmosel请注意,提供的答案仅表明这是可能的。这并不是他具体问题的答案。我几乎从未提供与100%问题匹配的答案,OP还有一些调整要做。如果地址包含字符串
:address:
,这行吗?@shmosel this coul如果我们能更好地定义组,我想这是可行的,但老实说,这不太可能在地址中找到这种模式。我同意这不太可能,但对于单个冒号也是如此。或者可能有一个转义序列。这都是猜测,直到OP完善了他的问题。@shmosel请注意,提供的答案只是表明这一点是可能的。这并不是他具体问题的答案。我几乎从来没有提供100%匹配问题的答案,OP仍然需要做一些调整。