从C#中的"9:00 PM"等字符串格式解析小时和AM/PM值的最有效方法是什么?
伪代码:
string input = "9:00 PM";
//use algorithm
//end result
int hour = 9;
string AMPM = "PM";
Run Code Online (Sandbox Code Playgroud) 我必须解析一个字符串.它包含一个或两个数字.
它可以有3个来自.
数字可能是负数.
例如:
现在更难的部分:
-100--200表示:number1 = -100,number2 = -200
-100-200-表示:抛出新的FormatException().它不是一个有效的字符串.
任何无法解析为2 ints的东西都会抛出一个formatexception(int.Parse会这样做,因此可以依赖它).
我需要一个解析器来解析它到两个int?-s(可空的整数).
每个字符串都有效(有意义)或无效(它没有意义).没有字符串可以表示两件事(至少我找不到一件事).
如果我得到2值,我希望它返回一个元组.
我纠结于ifs.
我有一个由行组组成的文件.每组代表一个事件.组的结尾用"END"表示.我可以想到使用for循环遍历行,存储中间行并在遇到"END"时发出组.
但是因为我想在Scala中这样做.我想知道是否有人可以建议一种更实用的方法来完成同样的事情?
----------
A
B
C
END
----------
D
E
F
END
----------
Run Code Online (Sandbox Code Playgroud) 我需要确保某些字符串是有效的问题。我正在考虑如何自己写这个,但在没有相当限制的情况下,它实际上是一个相当复杂的分析,而且我确信以前一定已经做过很多次了。
我不只是谈论以疑问词开头并以问号结尾。例如,我希望所有这些都通过:
我很想拥有一个现有的 js 库(或移植一些东西)来为我做这件事。我已经环顾了一段时间但一无所获。
Spring-boot RESTful服务器端;一个将返回字符串的测试方法:
@RequestMapping(value = "test", method = RequestMethod.GET)
public ResponseEntity<String> test(HttpServletRequest req, HttpServletResponse resp) {
try {
return new ResponseEntity<String>("Test has worked, biatch!", HttpStatus.OK);
} catch (Exception e) {
System.err.println("## EXCEPTION: " + e.getMessage());
return new ResponseEntity<String>(e.getMessage(), HttpStatus.BAD_REQUEST);
}
}
Run Code Online (Sandbox Code Playgroud)
从邮递员那里-一切正常,我得到了从JSON正确解析返回的字符串。
但是,当从Angular客户端尝试相同操作时,我不断获取HttpErrorResponse对象。
public url: string = "http://localhost:8080/theater/admin/test";
constructor(private as: AdminService, private http: HttpClient) { }
ngOnInit() {
}
getTest() {
this.as.getTest()
.subscribe(data => console.log(data), // this should happen on success
error => console.log(error)); // this should happen on error
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个输入 - 十六进制,八进制和小数 - 的程序,将它们存储在整数变量中,并将它们与它们转换为十进制形式一起输出.例如:
用户输入:0x43,0123,65
方案产出:
0x43 hexadecimal converts to 67 decimal
0123 octal converts to 83 decimal
65 decimal converts to 65 decimal
Run Code Online (Sandbox Code Playgroud)
显然我需要一种解释数字的方法,但我不知道如何去做.我已经尝试了各种方法,例如将它们读入函数并将它们转换为字符串,反之亦然(请参阅此处查看代码示例),但解释数字始终需要转换为某种格式来破坏原始输入.
我唯一能想到的是重载一个>>运算符,它一次读取一个字符,如果它在输入的开头看到0x或0,那么它在将整个输入读入int之前将其存储到一个字符串中.然后程序将以某种方式在输出期间确定正确的操纵器.
不确定是否有更简单的方法,任何帮助表示赞赏.
编辑:这已经解决,但我决定发布代码,如果有人有兴趣.
#include "std_lib_facilities.h"
void number_sys(string num, string& s)
{
if(num[0] == '0' && (num[1] != 'x' && num[1] != 'X')) s = "octal";
else if(num[0] == '0' && (num[1] == 'x' || num[1] == 'X')) s = "hexadecimal";
else s = "decimal";
}
int main()
{
cout << "Input numbers …Run Code Online (Sandbox Code Playgroud) 我有字符串:
17s 283ms
48s 968ms
Run Code Online (Sandbox Code Playgroud)
字符串值永远不会相同,我想从中提取"第二"值.在这种情况下,17和48.
我对正则表达式不太了解,所以我做的解决方法是:
$str = "17s 283ms";
$split_str = explode(' ', $str);
foreach($split_str as $val){
if(strpos($val, 's') !== false) $sec = intval($val);
}
Run Code Online (Sandbox Code Playgroud)
问题是,字符''存在于split_str [0]和split_str [1]中,因此我的$ sec变量保持获得283而不是17.
再一次,我对正则表达式不是很了解,我非常确定正则表达式是这种情况下的方法.请协助.谢谢.
我有以下字符串:
/Users/patelc75/Documents/code/haloror/dialup/H200000787_1313406125/H200000787_1313389058_1.xml
Run Code Online (Sandbox Code Playgroud)
在Ruby中,如何提取以字母开头H并包含9位数字(仅限数字)的前10个字符子字符串H.在上面的例子中,子字符串将是H200000787
我正在尝试解析一个simil- InkML文档.每个内容的节点都有更多的元组(用逗号分隔),带有6或7个数字(负数和小数).
在测试中,我看到SAX 的方法字符不记忆所有数据.
代码:
public class PenParser extends DefaultHandler {
//code useless
public void characters(char ch[], int start, int length) throws SAXException {
//begin my debug print
StringBuilder buffer=new StringBuilder ();
for(int i=start;i<length;i++){
buffer.append(ch[i]);
}
System.out.println(">"+buffer);
//end my debug print
Run Code Online (Sandbox Code Playgroud)
在调试中,我看到缓冲区不包含感兴趣的标记的所有数量,但它只包含标记内容的前107个(或多或少)char(我的行不长于4610个字符):这很奇怪该切的焦炭通过的StringBuffer和SAX解析,在我看来.
我也使用过StringBuilder,但问题仍然存在.
有什么建议?
这是Project Euler Problem 22的解决方案的开始.我有他们的文本文件的示例版本,我试图一次生成一个名称的名称. 这是有关字符串方法的文档的链接.我为该任务编写了以下代码:
def name_gen():
with open('C:/python/namessample.txt') as nameFile:
nameGenerator = (i.strip('"').split(sep='","') for i in nameFile)
for name in nameGenerator:
yield type(name), type(nameGenerator), type(nameFile), name
for i in name_gen():
print(i)
Run Code Online (Sandbox Code Playgroud)
这是代码输出:
(<class 'list'>, <class 'generator'>, <class '_io.TextIOWrapper'>, ['DOUGLASS', 'CORDELL', 'OSWALDO', 'ELLSWORTH', 'VIRGILIO', 'TONEY', 'NATHANAEL', 'DEL', 'BENEDICT', 'MOSE', 'JOHNSON', 'ISREAL', 'GARRET', 'FAUSTO', 'ASA', 'ARLEN', 'ZACK', 'WARNER', 'MODESTO', 'FRANCESCO', 'MANUAL', 'GAYLORD', 'GASTON', 'FILIBERTO', 'DEANGELO', 'MICHALE', 'GRANVILLE', 'WES', 'MALIK', 'ZACKARY', 'TUAN', 'ELDRIDGE', 'CRISTOPHER', 'CORTEZ', 'ANTIONE', 'MALCOM', 'LONG', 'KOREY', …Run Code Online (Sandbox Code Playgroud)