Java字符串中数据号码的分离问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java字符串中数据号码的分离问题相关的知识,希望对你有一定的参考价值。
给定这么一串字符串,String[] string = "/46/19/22/14/02@18]¥1,000,000@18]¥20@31]¥20@11]¥8,000@47]¥80@29]¥1,000,000@11]¥20@04]¥3,000@16]¥50@26]¥1,500@05]¥80@08]¥500@40]¥20@29]¥150@04]¥500,000@38]¥80@32]¥1,000,000@13]¥1,500@30]¥20@31]¥3,000";,该怎么提取出"/"和"@"后面的号码,还有"]" 后面的金额??最好能够给点代码~~谢谢~!
参考技术A 用正则表达式追问我知道用那个啊,但我不会用,能帮我写点代码吗,万分感激,谢谢~~
参考技术B 可以用split()试试。postgresql中电话号码的数据类型
【中文标题】postgresql中电话号码的数据类型【英文标题】:Datatype for phone numbers in postgresql 【发布时间】:2020-05-13 13:14:26 【问题描述】:我是 postgresql 的新手,所以谁能告诉我在 pgadmin 中创建表时是否有任何特定的数据类型可以在 postgresql 中存储电话号码,还是只是字符串?
【问题讨论】:
请看以下链接:dba.stackexchange.com/questions/164796/… 更好用character
@ZakirHossain:不,don't use char 使用 text
或 character varying
。
我看到了链接,但它没有提到文本或串行等数据类型。所以我应该选择文本数据类型
你应该使用字符串
【参考方案1】:
我建议使用text
并添加一个检查约束来测试电话号码的有效性。
这是domains 的一个很好的用例。特别是如果您在多个地方都需要这样的列,那么拥有一个包含检查约束的域会很方便。
【讨论】:
域可能如下所示:CREATE DOMAIN iol.phone_number AS TEXT CHECK( VALUE ~ '^(\+\d1,2\s)?\(?\d3\)?[\s.-]?\d3[\s.-]?\d4$' );
@NeilGuyLindberg 这可能适用于某些国家/地区。
真的。此正则表达式不允许使用国家/地区代码。这是我在您将我指向域后为美国组织的应用程序添加的内容。我只是想如果该链接移动了,一个小例子可能会有所帮助。
或者对于美国,域名可能看起来像CREATE DOMAIN iol.phone_number AS VARCHAR(10) CHECK(VALUE ~ '^[0-9]10$');
【参考方案2】:
您可以将联系人号码存储在 BIGINT 和 VARCHAR 中。
但需要在安全性和性能之间进行权衡。如果您担心性能(使用大数据集),那么您应该选择 bigint 但请先阅读此内容Google says never store phone numbers as numeric data 如果您不关心性能,因为数据集不是那么大,那么请使用 varchar。
src - [https://www.mayerdan.com/programming/2017/06/26/db_phone_types]
【讨论】:
以上是关于Java字符串中数据号码的分离问题的主要内容,如果未能解决你的问题,请参考以下文章